Листинг 2. Текст файла проекта Lab2.dpr

program Lab2;

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.

Листинг 3. Текст главного модуля 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.

Листинг 4. Текст вспомогательного модуля 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.


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



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