Инструкция по выполнению

1. Запустите среду программирования Delphi 7.

2. Создайте новое приложение (VCL Form Application), сохраните его в рабочей папке. Для этого однократно щелкните левой клавишей мыши по кнопке  «Save (Ctrl+S)». Назовите файл, например, Lab_1.

3. В окне Object Inspector задайте свойства основной формы Form1, перечисленные в таблице 1.

4. Последовательно расположите на форме Form1 (см. рис. 1) перечисленные в таблице 1 объекты и установите для них указанные значения свойств. Объекты сгруппированы на панели инструментов Delphi. По мере добавления объектов на форму регулярно выполняйте запуск программы (кнопка  «Run (F9)»). Немного поработайте с приложением, чтобы разобраться с его особенностями. Попробуйте, перетаскивая границы изменить размеры окна, сменить его положение, свернуть, максимизировать, развернуть до нормальных размеров, понажимать на кнопки, ввести в редактируемые элементы произвольную текстовую, числовую информацию, нажать клавиши Alt+N, Alt+M и т.д. Закройте приложение. Постарайтесь разобраться с назначением свойств объектов. С этой целью можно попытаться установить значения свойств, отличные от указанных в таблице 1, запуская при этом программу и наблюдая за происходящими изменениями. Не забудьте по окончании экспериментов восстановить для всех объектов значения свойств из таблицы 1.

 

Таблица 1

№ п.п. Объект: Класс\Группа инструментов Свойство Значение

1.

Form1: TForm

Caption Сложение матриц
Font\Size 9
Position poScreenCenter
BorderStyle bsDialog
2. Button1: TButton\Standard Caption Выход
3. Edit1: TEdit\Standard Width 50

4.

UpDown1:

TUpDown\Win32

Associate Edit1
Max 10
Min 1

5.

Label1: Label\Standard

Caption &N–количество строк:
FocusControl Edit1
6. Edit2: TEdit\Standard Width 50

7.

UpDown2:

TUpDown\Win32

Associate Edit2
Max 10
Min 1

8.

Label2:

TLabel\Standard

Caption &M–количество столбцов:
FocusControl Edit2
9. GroupBox1: TGroupBox\Standard Caption Матрица A:

10.

StringGrid1: TStringGrid\Additional

Align alClient
ColCount 2
DefaultColWidth 30
Options\goEditing True
RowCount 2
ScrollBars ssNone
11. GroupBox2: TGroupBox\Standard Caption Матрица B:

12.

StringGrid2: TStringGrid\Additional

Align alClient
ColCount 2
DefaultColWidth 30
Options\goEditing True
RowCount 2
ScrollBars ssNone
13. GroupBox3: TGroupBox\Standard Caption Матрица C:

14.

StringGrid3:TStringGrid\Additional

Align alClient
ColCount 2
DefaultColWidth 30
Options\goEditing False
RowCount 2
ScrollBars ssNone

15.

Label3: TLabel/Standard

Caption +
Font\Size 24
Font\Style\fsBold True

16.

Label4: TLabel/Standard

Caption =
Font\Size 24
Font\Style\fsBold True

 

5. Добавьте в описание приватных процедур класса TForm1 (верхняя часть окна редактирования модуля Unit1) описание процедуры ReCalculation:

 

type

TForm1 = class(TForm)

Panel1: TPanel;

StringGrid3: TStringGrid;

private

procedure ReCalculation;

public

end;

 

6. В разделе 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;

 

7. Одинарным щелчком мыши по объекту Button1 на форме Form1Сложение матриц») или в окне ObjectTreeView выберите объект Button1Выход»).

8. Дважды щелкните левой клавишей мыши по строке выбора метода для события onClick в закладке Events окна Object Inspector. На экране должно появиться окно редактирования программы, содержащее шаблон метода Button1Click, определяющего реакцию формы Form1Сложение матриц») на нажатие клавиши Button1Выход»).

9. Наберите текст процедуры Button1Click:

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Close;

end;

 

10. Последовательно добавьте соответствующим объектам перечисленные ниже методы, определяющие реакцию приложения на различные события (см. п. 7–9). По мере добавления методов регулярно выполняйте запуск программы, при необходимости исправляйте допущенные ошибки.

a. Метод 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;

b. Метод Edit1Change – реакция на события onChange, изменение Edit1 (количества строк N):

procedure TForm1.Edit1Change(Sender: TObject);

Var

J,N,M:Integer;

Begin

M:=StrToInt(Edit2.Text);

N:=StrToInt(Edit1.Text);

StringGrid1.RowCount:=N+1;

StringGrid2.RowCount:=N+1;

StringGrid3.RowCount:=N+1;

StringGrid1.Cells[0,N]:=Edit1.Text;

StringGrid2.Cells[0,N]:=Edit1.Text;

StringGrid3.Cells[0,N]:=Edit1.Text;

for J:=1 to M do

begin

if StringGrid1.Cells[J,N]=''then

   StringGrid1.Cells[J,N]:='0';

if StringGrid2.Cells[J,N]='' then

   StringGrid2.Cells[J,N]:='0';

end;

ReCalculation

end;

c. Метод Edit2Change – реакция на события onChange, изменение Edit2 (количества столбцов M):

 

procedure TForm1.Edit2Change(Sender: TObject);

Var

I,N,M:Integer;

begin

M:=StrToInt(Edit2.Text);

N:=StrToInt(Edit1.Text);

StringGrid1.ColCount:=M+1;

StringGrid2.ColCount:=M+1;

StringGrid3.ColCount:=M+1;

StringGrid1.Cells[M,0]:=Edit2.Text;

StringGrid2.Cells[M,0]:=Edit2.Text;

StringGrid3.Cells[M,0]:=Edit2.Text;

for I:=1 to N do

begin

if StringGrid1.Cells[M,I]='' then

   StringGrid1.Cells[M,I]:='0';

if StringGrid2.Cells[M,I]='' then

   StringGrid2.Cells[M,I]:='0';

end;

ReCalculation

end;

 

d. Метод StringGrid1KeyUp – реакция на события onKeyUp, редактирование матрицы A (StringGrid1)и матрицы B (StringGrid2):

 

procedure TForm1.StringGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

ReCalculation;

end;

 

11. Выполните запуск программы. Строки ввода и ячейки матриц последовательно заполните данными 1-го и 2-го контрольных примеров. Убедитесь в правильности работы программы. При необходимости исправьте допущенные ошибки.

12. Сохраните исходный файл проекта в своей рабочей папке.

13. Выйдите из среды программирования Delphi с помощью меню File\Exit.



Приложение С (справочное)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: