Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конструирование программ.doc
Скачиваний:
12
Добавлен:
05.05.2019
Размер:
12.37 Mб
Скачать

А.3.2 События главной формы

Рассмотрим основные события, на которые может реагировать главная форма приложения. События можно увидеть на закладке События Инспектора объектов.

События происходит в следующих случаях:

OnActivate – приложение стало активным

OnCanResize – перед тем, как изменить размер окна

OnClick – пользователь щелкнул по форме

OnClose – окно закрывается

OnCloseQuery – перед закрытием окна

OnCreate – окно создается

OnDblClick – Пользователь дважды щелкнул по окну

OnDeactivate – окно деактивируется

OnDestroy – окно уничтожается

OnHide – окно исчезает из виду

OnKeyDown – нажата клавиша на клавиатуре

OnKeyPress – нажата и отпущена клавиша на клавиатуре

OnKeyUp – отпущена клавиша на клавиатуре

OnMouseDown – нажата кнопка мыши

OnMouseMove – двигается мышка

OnMouseUp – отпускается кнопка мыши

OnMouseWheel – прокручивается колесико мыши

OnMouseWheelDown – колесико мыши прокручено вниз

OnMouseWheelUp – колесико мыши прокручено вверх

OnPaint – надо перерисовать окно

OnResize – надо изменить размеры окна

OnShortCut – нажата горячая клавиша

OnShow – показывается окно, но до фактической прорисовки. В этот момент окно уже создано и готово к отображению, но еще не прорисовалось на экране.

А.4 Компоненты Delphi

Палитра компонентов состоит из нескольких закладок:

Standard – все эти компоненты являются аналогами Windows компонентов.

Additional – дополнительные компоненты.

Win32 – компоненты, которые есть только в семействе Win32 операционных систем. В это семейство входят Windows 9x, Windows ME, Windows 2000, Windows NT, Windows XP.

System – системные компоненты, с помощью которых облегчается доступ к системе.

Database Access – компоненты доступа к базам данных.

Data Controls – компоненты для работы с базами данных.

dbExpress – еще компоненты доступа к базам данных, которые пришли на смену BDE.

BDE – старые компоненты доступа к базам данных.

ADO – это тоже компоненты для доступа к базам данных, только по технологии Active Data Object (ADO).

InterBase компоненты доступа к базе данных InterBase.

WebServices – компоненты служб сети Internet.

InternetE xpress – компоненты доступа к сети Internet.

FastNet – сетевые компоненты.

QReport – компоненты для создания отчетов.

Dialogs – компоненты облегчающие доступ к стандартным диалогам.

Win3.11 – компоненты доступа к компонентам Win 3.1.

Samples – различные примеры. Некоторые из этих компонентов доступны в исходных кодах и поставляются вместе с Delphi.

Приложение b. Приложение «Калькулятор»

//Файл ProjectCalc.dpr

program ProjectCalc;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

//Файл UnitCalc.pas

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

EditOperand1: TEdit;

EditOperand2: TEdit;

EditResult: TEdit;

OperatorLabel: TLabel;

ResultLabel: TLabel;

BtnAdd: TButton;

Panel1: TPanel;

BtnMinus: TButton;

Button4: TButton;

Button5: TButton;

BtnClose: TButton;

Button1: TButton;

procedure BtnAddClick(Sender: TObject);

procedure BtnMinusClickk(Sender: TObject);

procedure BtnDivedeClick(Sender: TObject);

procedure BtnClearClick(Sender: TObject);

procedure BtnCloseClick(Sender: TObject);

procedure BtnMultClick(Sender: TObject);

procedure Operand1keyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BtnAddClick(Sender: TObject);

begin

EditResult.Text:=

IntToStr(StrToInt(EditOperand1.Text)+

StrToInt(EditOperand2.Text));

OperatorLabel.Caption:='+';

ResultLabel.Caption :='=';

EditOperand1.SetFocus;

end;

procedure TForm1.BtnMinusClickk(Sender: TObject);

begin

EditResult.Text:=

IntToStr(StrToInt(EditOperand1.Text)-

StrToInt(EditOperand2.Text));

OperatorLabel.Caption:='-';

ResultLabel.Caption :='=';

EditOperand1.SetFocus;

end;

procedure TForm1.BtnDivedeClick(Sender: TObject);

begin

EditResult.Text:=

FloatToStr(StrToFloat(EditOperand1.Text)/

StrToFloat(EditOperand2.Text));

OperatorLabel.Caption:='/';

ResultLabel.Caption :='=';

EditOperand1.SetFocus;

end;

procedure TForm1.BtnClearClick(Sender: TObject);

begin

EditOperand1.Text :='' ;

EditOperand2.Text :='' ;

EditResult.Text :='' ;

OperatorLabel.Caption:='?';

ResultLabel.Caption :='?';

EditOperand1.SetFocus;

end;

procedure TForm1.BtnCloseClick(Sender: TObject);

begin

Close;

end;

procedure TForm1.BtnMultClick(Sender: TObject);

begin

EditResult.Text:=

IntToStr(StrToInt(EditOperand1.Text)*

StrToInt(EditOperand2.Text));

OperatorLabel.Caption:='*';

ResultLabel.Caption :='=';

EditOperand1.SetFocus;

end;

procedure TForm1.Operand1keyPress(Sender: TObject; var Key: Char);

begin

case Key of

'0'..'9', '-', chr(8): ;

chr(13) : EditOperand2.SetFocus;

else

key:=chr(0);

end;

end;

end.

4