- •1.Текстовые компоненты Label, Edit, Memo. Кнопка Button
- •Пример 1.1. Задание - Составить программу, вычисляющую корни квадратного уравнения
- •2. Классы и компоненты Delphi,
- •Interface
- •Interface
- •Interface
- •3. Панель переключателей RadioGroup
- •Interface
- •4. Списки: ListBox и ComboBox
- •Interface
- •Interface
- •5. Таблица StringGrid
- •Полный текст модуля Unit1.Pas
- •Interface
- •6. Создание меню. Компоненты MainMenu и PopupMenu
- •Interface
- •Interface
- •7. Диалоговые окна.
- •Interface
5. Таблица StringGrid
В целочисленной матрице А(4, 4) поменять местами первую и последнюю строки. Решение
Для нового проекта создадим новую папку, например D:\MyProject\StringGrid.
Откроем новый проект, используя команду главного меню File|New|Application.
Из страниц Standard и Additional на Form1 поместим два компонента StringGrid и три компонента Button.
С помощью Инспектора Объектов свойствам компонентов StringGrid1 и StringGrid2 зададим следующие значения:
FixedCols - 0,
FixedRows - 0,
ColCount - 4,
RowCount - 4.
Изменим размеры компонентов StringGrid1 и StringGrid2 таким образом, чтобы в них умещалось 4 строки и 4 столбца.
В Инспекторе Объектов для обеих таблиц выберем свойство Options. Войдем в него с помощью двойного щелчка мыши. Значение флага goEditing сделаем равным True.
Для компонентов Button1, Button2 и Button3 зададим значение свойства Caption равным: ‘Решение ‘, ‘Решение 2’ и ‘Очистить’ соответственно.
Активизируем кнопку «Решение 1» и создадим следующий обработчик события OnClick:
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer;
begin
for i := 0 to 3 do
begin
StringGrid2.Cells[i,0] := StringGrid1.Cells[1,3];
StringGrid2.Cells[i,3] := StringGrid1.Cells[i,0];
StringGrid2.Cells[i,1] := StringGrid1.Cells[i,1];
StringGrid2.Cells[i,2] := StringGrid1.Cells[i,2];
end
end;
Напомним, что нумерация строк и столбцов начинается с 0, а в свойстве Cells[j,i] первый индекс обозначает номер столбца, а второй — номер строки.
8. Исходная задача может быть решена при помощи свойства Rows. Активизируем кнопку «Решение 2» и в заготовке обработчика события OnClick разместим следующий код:
procedure TForml.Button2Click(Sender: TObject);
begin
StringGxid2.Rows[0] := StringGrid1.Rows[3];
StringGrid2.Rows[1] := StringGrid1.Rows[1];
StringGrid2.Rows[2] := StringGrid1.Rows[2];
StringGrid2.Rows[3] := StringGrid1.Rows[0];
end;
9. Для очистки второй таблицы предназначена кнопка «Очистить». Активизируем её и в заготовку обработчика события поместим следующий код:
procedure TForm1.Button3Click(Sender: TObject);
var i, j : Integer;
begin
for i := 0 to 3 do
for j := 0 to 3 do
StringGrid2.Cells[ j, i ] := ‘‘
end;
Сохраним проект при помощи команды главного меню File|Save All и запустим его на выполнение.
Полный текст модуля Unit1.Pas
unit Unit1;
Interface
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Button1 : TButton;
Button2 : TButton;
Button3 : TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
for i := 0 to 3 do
begin
StringGrid2.Cells[i,0] := StringGrid1.Cells[i,3] ;
StringGrid2.Cells[i,3] := StringGrid1.Cells[i,0];
StringGrid2.Cells[i,1] := StringGrid1.Cells[i,1];
StringGrid2.Cells[i,2] := StringGrid1.Cells[i,2];
end
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
StringGrid2.Rows[0] := StringGrid1.Rows[3];
StringGrid2.Rows[1] := StringGrid1.Rows[1];
StringGrid2.Rows[2] := StringGrid1.Rows[2];
StringGrid2.Rows[3] := StringGrid1.Rows[0];
end;
procedure TForm1.Button3Click(Sender: TObject);
var i, j : Integer;
begin
for i := 0 to 3 do for j := 0 to 3 do
StringGrid2.Cells[j, i]:=‘‘
end;
end.