Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции сем. 1.doc
Скачиваний:
15
Добавлен:
13.11.2019
Размер:
2.03 Mб
Скачать

Синтаксическая структура модуля

Unit имя модуля;

Interface {интерфейсный раздел}

[ Uses список имен модулей ] {Подключение модулей}

<объявления видимых объектов>

Implementation {раздел реализации}

[

{Описание скрытых и видимых объектов}

Uses список имен модулей ]

[Раздел описания констант]

[Раздел описания типов]

[Раздел описания переменных

[Раздел описания процедур и функций]

[Begin

раздел инициализации объектов модуля ]

End.

Квадратные скобки означают, что заключенная в них конструкция языка может отсутствовать.

Видимыми объектами называют такие объекты, которые доступны из других программ. Невидимые (рабочие) объекты называют скрытыми.

В интерфейсной части могут быть объявлены типы, константы, переменные, процедуры и функции, которые могут использоваться в других модулях.

Объявления процедур и функций в интерфейсной части - это их заголовки. Их следует писать полностью, а описания процедур и функций помещаются в разделе реализации.

Ниже приведен листинг исходного текста главного модуля, содержащийся в файле модуля с именем Unit_Calc.pas.

Модуль содержит в разделе реализации только описания процедур обработки событий и процедур и функций пользователя.

Unit Unit_Calc;

Interface

{Присоединение модулей Delphi}

Uses

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

Buttons, StdCtrls;

{Объявление видимых объектов}

Type {Объявление типов}

TForm1 = class(TForm)

LabelOp1: TLabel;

LabelOp2: TLabel;

LabelResult: TLabel;

EditOp1: TEdit;

EditOp2: TEdit;

EditResult: TEdit;

ButtonAdd: TButton;

ButtonSub: TButton;

ButtonMult: TButton;

ButtonDel: TButton;

ButtonClear: TButton;

BitBtnClose: TBitBtn;

procedure ButtonAddClick(Sender: TObject);

procedure ButtonSubClick(Sender: TObject);

procedure ButtonMultClick(Sender: TObject);

procedure ButtonDelClick(Sender: TObject);

procedure ButtonClearClick(Sender: TObject);

procedure EditOpChange(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var {Объявление переменных}

Form1: TForm1;

Op1,Op2: integer;

Res: real;

implementation

{$R *.DFM} {Директива компилятору}

{Описание процедур обработки события}

procedure TForm1.ButtonAddClick(Sender: TObject);

begin

Op1:=StrToInt(EditOp1.Text);

Op2:=StrToInt(EditOp2.Text);

Res:=Op1+Op2;

EditResult.Text:=FloatToStr(Res);

LabelResult.Visible:=True;

LabelResult.Caption:='Результат +';

end;

procedure TForm1.ButtonSubClick(Sender: TObject);

begin

Op1:=StrToInt(EditOp1.Text);

Op2:=StrToInt(EditOp2.Text);

Res:=Op1-Op2;

EditResult.Text:=FloatToStr(Res);

LabelResult.Visible:=True;

LabelResult.Caption:='Результат -';

end;

procedure TForm1.ButtonMultClick(Sender: TObject);

begin

Op1:=StrToInt(EditOp1.Text);

Op2:=StrToInt(EditOp2.Text);

Res:=Op1*Op2;

EditResult.Text:=FloatToStr(Res);

LabelResult.Visible:=True;

LabelResult.Caption:='Результат *';

end;

procedure TForm1.ButtonDelClick(Sender: TObject);

begin

Op1:=StrToInt(EditOp1.Text);

Op2:=StrToInt(EditOp2.Text);

Res:=Op1/Op2;

EditResult.Text:=FloatToStr(Res);

LabelResult.Visible:=True;

LabelResult.Caption:='Результат /';

end;

procedure TForm1.ButtonClearClick(Sender: TObject);

begin

EditOp1.Clear;

EditOp2.Clear;

EditResult.Clear;

LabelResult.Visible:=False;

EditOp1.SetFocus;

end;

procedure TForm1.EditOpChange(Sender: TObject);

begin

EditResult.Clear;

LabelResult.Visible:=False;

end;

end.

Чтобы воспользоваться программными ресурсами, размещенными в модуле, в другом и модуле необходимо поместить служебное слово Uses <Имя модуля> (предложение использования) сразу после заголовка служебных слов Interface или Implementation.

Раздел инициализации модуля (если он есть) будет выполняться перед началом выполнения проекта (программы), в котором используется данный модуль

Синтаксическая структура раздела описания констант имеет следующий вид:

Const < имя> =< значение>;

[ < имя> = < значение>;]

Пример: Const M=20;S=3.5;

В языке Delphi программист имеет возможность описать и далее использовать в программе свои собственные типы. Обычно это сложные (структурированные типы).

Синтаксическая структура описания типов имеет следующий вид:

Type <имя типа>= <описание типа>;

[<имя типа>= <описание типа>;]

Пример :

Type

MAS_i = ARRAY[1..20] of integer; - описание типа «одномерный

массив».

В языке Delphi каждая переменная, используемая в программе, должна быть описана в разделе описания переменных.

Этот раздел может содержаться как в интерфейсной части модуля, так и в разделе реализации.

Синтаксическая структура раздела описания переменных имеет следующий вид:

Var < имя переменной>[, <имя переменной>.. <имя переменной>] : <тип>;

< имя переменной>[,<имя переменной >... <имя переменной>:<тип>;

<тип> - это <имя типа > или <описание типа>.

<имя типа > - это имя ранее описанного или встроенного типа.

Пример :

Var XI, Х2,Y: integer;

A1: MAS_l; {используется имя ранее описанного типа}

A2:ARRAY[1.. 20] of integer; {используется описание типа}

Программа на языке Delphi может иметь комментарии - любую последовательность символов (кроме { } ), заключенную в фигурные скобки.