В окне Object Inspector задайте следующие свойства основной формы Form1:
Свойство
Значение
Описание
Caption
Сложение матриц
Font\Size
Position
poScreenCenter
BorderStyle
bsDialog
Height
Width
Последовательно расположите на форме Form1 перечисленные ниже объекты (см. рис. 1) и установите для них указанные в таблице значения свойств.
Кнопка Button1 класса TButton со свойствами:
Свойство
Значение
Описание
Anchors\akLeft
False
Anchors\akTop
False
Anchors\akRight
True
Anchors\akBottom
True
Caption
Выход
Enabled
True
Строка редактирования Edit1 класса TEdit со свойствами:
Свойство
Значение
Описание
Width
Счетчик UpDown1 класса TUpDown (компонент – «UpDown (ComCtrls)» расположен на закладке Win32) со свойствами:
Свойство
Значение
Описание
Associate
Edit1
Max
Min
Orientation
udVertical
Метка Label1 класса TLabel со свойствами:
Свойство
Значение
Описание
Caption
&N–количество строк
FocusControl
Edit1
ShowAccelChar
True
Строка редактирования Edit2 класса TEdit со свойствами:
Свойство
Значение
Описание
Width
Счетчик UpDown2 класса TUpDown (компонент – «UpDown (ComCtrls)» расположен на закладке Win32) со свойствами:
Свойство
Значение
Описание
Associate
Edit2
Max
Min
Orientation
udVertical
Метка Label2 класса Tlabel:
Свойство
Значение
Описание
Caption
&M–количество столбцов
FocusControl
Edit2
ShowAccelChar
True
Групповая панель GroupBox1 класса TgroupBox со свойствами:
Свойство
Значение
Описание
Caption
Матрица A
Height
Width
Строковая таблица StringGrid1 класса TStringGrid (компонент – «StringGrid (Grids)» расположен на закладке Additional) со свойствами:
Свойство
Значение
Описание
Align
alClient
ColCount
FixedCols
FixedRows
Options\goEditing
True
RowCount
ScrollBars
ssNone
Групповая панель GroupBox2 класса TgroupBox со свойствами:
Свойство
Значение
Описание
Caption
Матрица B
Height
Width
Строковая таблица StringGrid2 класса TStringGrid (компонент – «StringGrid (Grids)» расположен на закладке Additional) со свойствами:
Свойство
Значение
Описание
Align
alClient
ColCount
FixedCols
FixedRows
Options\goEditing
True
RowCount
ScrollBars
ssNone
Групповая панель GroupBox3 класса TgroupBox со свойствами:
Свойство
Значение
Описание
Caption
Матрица C
Height
Width
Строковая таблица StringGrid3 класса TStringGrid (компонент – «StringGrid (Grids)» расположен на закладке Additional) со свойствами:
Свойство
Значение
Описание
Align
alClient
ColCount
FixedCols
FixedRows
Options\goEditing
False
RowCount
ScrollBars
ssNone
Метка Label3 класса TLabel со свойствами:
Свойство
Значение
Описание
Caption
+
Font\Size
Font\Style\fsBold
True
Метка Label4 класса TLabel со свойствами:
Свойство
Значение
Описание
Caption
=
Font\Size
Font\Style\fsBold
True
По мере добавления объектов на форму регулярно выполняйте запуск программы. Немного поработайте с приложением, чтобы разобраться с особенностями его работы. Попробуйте, перетаскивая границы изменить размеры окна, сменить его положение, свернуть, максимизировать, развернуть до нормальных размеров, понажимать на кнопки, ввести в редактируемые элементы произвольную текстовую, числовую информацию, нажать клавиши Alt+N, Alt+M и т.д. Закройте приложение. В приведенных таблицах постарайтесь заполнить графу Описание. С этой целью можно попытаться установить другие значения свойств, указанных в таблицах, запуская при этом программу и наблюдая за происходящими при этом изменениями. Не забудьте по окончании экспериментов установить для всех объектов значения свойств, указанные в таблицах и сохранить приложение.
Добавьте в описание приватных процедур класса TForm1 (верхняя часть окна редактирования модуля Unit1) описание процедуры ReCalculation:
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
Label1: TLabel;
Edit1: TEdit;
UpDown1: TUpDown;
Label2: TLabel;
Edit2: TEdit;
UpDown2: TUpDown;
GroupBox1: TGroupBox;
StringGrid1: TStringGrid;
GroupBox2: TGroupBox;
StringGrid2: TStringGrid;
Label3: TLabel;
Label4: TLabel;
GroupBox3: TGroupBox;
StringGrid3: TStringGrid;
private
{ Private declarations }
procedure ReCalculation;
public
{ Public declarations }
end;
В разделе implementation текста модуля Unit1 добавьте процедуру ReCalculation:
implementation
{$R *.dfm}
Procedure TForm1.ReCalculation;
Var
I,J,N,M,A,B,C:Integer;
Begin
N:=StrToInt(Edit1.Text);
M:=StrToInt(Edit2.Text);
for I:=1 To N do
for J:=1 To M Do
Try
A:= StrToInt(StringGrid1.Cells[J,I]);
B:= StrToInt(StringGrid2.Cells[J,I]);
C:=A+B;
StringGrid3.Cells[J,I]:=IntToStr(C)
Except
beep;
StringGrid3.Cells[J,I]:='?';
End;
end;
Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п. Ошибка! Источник ссылки не найден. – Ошибка! Источник ссылки не найден. По мере добавления методов регулярно выполняйте запуск программы, исправляйте допущенные ошибки. Немного поработайте с приложением, чтобы разобраться с особенностями его работы. Попробуйте, перетаскивая границы изменить размеры окна, сменить его положение, свернуть, максимизировать, развернуть до нормальных размеров, понажимать на кнопки, ввести в редактируемые элементы произвольную текстовую, числовую информацию, нажать клавиши Alt+N, Alt+M и т.д.
Метод Button1Сlick – реакция на событие onClick, нажатие кнопки TButton1(«Выход»):
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
Метод FormCreate – реакция на событие onCreate, создание формы Form1 («Сложение матриц») при запуске приложения:
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[0,1]:='1';
StringGrid1.Cells[1,0]:='1';
StringGrid1.Cells[1,1]:='0';
StringGrid2.Cells[0,1]:='1';
StringGrid2.Cells[1,0]:='1';
StringGrid2.Cells[1,1]:='0';
StringGrid3.Cells[0,1]:='1';
StringGrid3.Cells[1,0]:='1';
StringGrid3.Cells[1,1]:='0'
end;
Метод Edit1Change – реакция на события onChange, изменение Edit1(количества строкN):