Текст главного модуля MainUnit.pas




unit MainUnit;

Interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
TMainForm = class (TForm)
Labell: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
LabelNumberl: TLabel;
LabelNumber2: TLabel;
LabelSum: TLabel;
LabelProduct: TLabel;
ButtonInput: TButton;
ButtonExit: TBatton;
procedure ButtonExitClicktSender: TObject);
procedure ButtonInputClick(Sender: TObject);
end;

var
MainForm: TMainForm;

Inplementation

uses Input;

{$R *.DFM}

procedure TMain.Form.ButtonExitClick (Sender: TObject);
begin // Выход из программы
Close;
end;

procedure TMainForm.ButtonInputClick(Sender: TObject);
begin // Нажата кнопка "Ввод чисел..."
if InputForm.ShowModal=mrOk then
with InputForm do
begin
LabelNumberl.Caption:=Edit1.Text;
LabelNumber2.Caption:=Edit2.Text;
try
labelSum.Caption:=FloatToStr(Number1+Number2);
except
LabelSum.Caption:= 'Ошибка сложения';
end;
try
LabelProduct.Caption:=FloatToStr(Number1*Number2);
except
LabelProduct.Caption:='Ошибка умножения';
end;
end;
end;

end.

Для этого прежде всего следует указать, что вспомогательный МОДУЛЬ Input.pas будет использоваться в главном модуле MainUnit.pas. Необходимо открыть модуль MainUnit.pas, выбрать команду меню File|Use Unit... и указать в диалоге модуль Input.pas. Это приведет к тому, что в главном модуле в секции implementation появится строка «uses Input;».

Главным в создаваемом обработчике является метод ShowModal формы InputForm, который останавливает выполнение основной программы и передает управление вспомогательной форме. В зависимости от результата выполнения метода ShowModal (нужно выполнить проверку на равенство результата значению mrOk) необходимо выполнить действия по вычислению суммы и произведения чисел и вывести полученные значения в соот ветствующих метках главной формы.

Во вспомогательной форме необходимо написать обработчик событий для кнопки Buttor.Ok («OK»), ко торый должен проверить правильность введения чисел и, если все верно, то закрыть форму с результатом mrOk. Для второй кнопки BuLtonCancel («Отмена») обработчик писать не нужно, т.к. у этой кнопки уже выставлено свойство ModalResult, говорящее о том, что форма должна быть закрыта при нажатии на эту кнопку.

Теперь программу можно выполнять.

 

Текст файла проекта Lab.dpr

program Lab;

uses
Forms,
Input in 'Input.pas' {InputForm},
MainUnit in 'MainUnit.pas' {MainForm};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);
Application.CreateFcrmfTInputForm, InputForm);
Application.Run;
end.

Текст вспомогательного модуля Input.pas

unit Input;

Interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
TInputForm = class (TForm)
Labell: ILabel;
Label2: TLabel;
Editl: TEdit;
Edit2: TEdit::
ButtonOk: IButton;
ButtonCancel: TButton;
procedure ButtonOkClick (Sender: TObject);
public
Numbеr1, Number2: double;
end;

var
InputForm: TInputForm;

Implementation

{$R *.DFM}

procedure TInputForm.ButtonOkClick (Sender: TObject);
begin // Перед эакрытием формы проверить правильность ввода чисел
try
Numberl:=StrToFloat(Editl.Text);
except
Edit1.SetFocus;
ShowMessage ('Ошибка в первом числе');
exit;
end;
try
Number2:=StrToFloat(Edit2.text);
except
Edit2.SetFocus;
ShowMessage('Ошибка во Bором числе');
end;
ModalResult:=mrOk; {Числа введены правильно, поэтому форму можно закрывать}
end;

end.

 

 

Форма отчета:

1) Краткий конспект теоретического материала

2) Выполнение зачетного задания

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: