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

Вызов процедуры

Вызов процедуры для выполнения действий в Delphi осуществляется оператором процедуры, в любом месте тела другой процедуры или функции.

Оператор процедуры состоит из имени процедуры (идентификатора за которым в круглых скобках через запятую перечислены фактические параметры.

Список параметров может отсутствовать.

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

При вызове процедуры формальные параметры заменяются фактическими параметрами.

Между фактическими параметрами оператора вызова процедуры и Формальными параметрами в заголовке процедуры должно быть однозначное соответствие при переборе их слева направо. Количество и тип должно быть равно количеству и типу Фактических параметров.

После выполнения оператора процедуры выполняется оператор, записанный следующим.

Пример:

Implementation

………………….

Type MAS =Array [1 .. 20] of Real;

Var

m:integer;

B:Mas; SS:real;

………………..

Procedure SW( N: Integer; A: MAS; var S: Real);

Var j:integer;

Begin

S :=0;

For j :=1 To N Do

S := S+A [ j ];

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

………..

SW(m,B,SS);

Edit2.Text:=FloatToStr(SS);

End;

Описание функции

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

Поэтому в описании функции (в ее теле) должен быть хотя бы один оператор присваивания, в левой части которого фигурирует имя функции или переменная с именем Result, и в заголовке должен быть указан тип возвращаемого значения.

Общий вид описания функции:

Function <имя функции> (<список формальных параметров>):<тип результата>;

[<Раздел описаний>] {описание типов, переменных,

констант, процедур и функций (может

отсутствовать)}

Begin {начало тела }

<Оператор>

……………..

<Оператор >;

<имя функции> :=< выражение >

End; {конец тела }

Пример:

Type MAS =Array [1 .. 20] of Real;

Function SW( N: Integer; A: MAS): Real; {заголовок}

Var S:Real ; {описание переменной (локальной)}

Begin

S :=0;

For j :=1 To N Do

S := S+A [ j ];

SW:=S; {оператор присваивания, левой части которого -

имя функции}

End;

Вызов функции

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

Пример:

Implementation

………………….

Type MAS =Array [1 .. 20] of Real;

Var

m:integer;

B:Mas; S:real;

………………..

Function SW( N: Integer; A: MAS): Real;

Var S:Real ;

Begin

S :=0;

For j :=1 To N Do

S := S+A [ j ];

SW:=S;

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

………..

S:=SW(m,B);

Edit2.Text:=FloatToStr(S);

……………..

End;

Графика в Delphi Графические компоненты

В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это — ТImage (TDBImage), TShape, TBevel.

TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании — выберите его на странице Additional и поместите в нужное место формы.

Собственно картинку можно загрузить во время проектирования в редакторе свойства Picture (Инспектор Объектов).

Картинка должна храниться в файле формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon). (TDBImage отображает картинку, хранящуюся в таблице в поле типа BLOB. При этом доступен только формат BMP.

Как известно, форматов хранения изображений гораздо; больше трех вышеназванных (например, наиболее известны PCX, GIF, TIFF, JPEG).

Для включения в программу изображений в этих форматах нужно либо перевести их в формат BMP, либо найти библиотеки третьих фирм, в которых есть аналог TImage, «понимающий» данные форматы (есть как VBX объекты, так и «родные» объекты для Delphi).

При проектировании следует помнить, что изображение, помещенное на форму во время дизайна, включается в файл .DPR и затем прикомпилируется к ЕХЕ файлу. Поэтому такой ЕХЕ файл может получиться достаточно большой.

Как альтернативу можно рассмотреть загрузку картинки во время выполнения программы, для этого у свойства Picture (которое является объектом со своим набором свойств и методов) есть специальный метод LoadFromFile. Это делается, например, так:

if OpenDialogl.Execute then

Image1.Picture.LoadFromFile(OpenDialogl.FileName);

Важными являются свойства объекта Center и Stretch — оба имеют булевский тип.

Если Center установлено в True, то центр изображения будет совмещаться с центром объекта Tlmage.

Если Stretch установлено в True, то изображение будет сжиматься или растягиваться таким образом, чтобы заполнить весь объект Tlmage.

TShape — простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape,

Свойство Реn определяет цвет и вид границы объекта.

Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.

TBevel — объект для украшения программы, может принимать вид рамки или линии. Объект предоставляет меньше возможностей по сравнению с TPanel, но не занимает ресурсов.

Внешний вид указывается с помощью свойств Shape и Style.