В прошлом уроке мы рассматривали структуру программы и модулей. Они состоят из заголовка и программного блока.
Процедуры и функции представляют собой кирпичики, дополнительные блоки, содержащиеся в программном блоке. И по своему строению очень напоминает модуль или программу. Тоже состоит из заголовка и блока.
Заголовок состоит из первого слова procudure
для процедуры и function
для функции. После этого слова следует идентификатор, по которому данная процедура или функция будет вызываться из другого места программы (возможно даже из этой же процедуры). После идентификатора могут следовать в скобках входящие или выходящие параметры. Заголовок функции завершается описанием ее типа.
После заголовка может следовать (по необходимости) описание внутренних типов, констант, переменных, меток. На эту тему мы поговорим с вами в следующем уроке.
Далее следует сам программный блок процедуры или функции, заключенный в операторные скобки begin и end.
Пример процедуры:
procedure MyProcedure (InData: Integer); // заголовок процедуры. InData - вносимый параметр
Var i1,i2,i3: Integer; // описание переменных в данной процедуре
begin
// текст программы
end;
Функция от процедуры отличается только тем, что кроме выполняемого программного блока может возвращать определенное значение (по окончанию сама принимает некоторое значение).
Пример функции:
function MyFunction (InData: Integer): Integer; // возвращаемый тип данных - Integer
Var i1,i2,i3: Integer;
begin
// текст программы
Result:= 1; // возвращаемое значение
end;
Для осмысления вышесказанного рассмотрим следующий пример.
function MyFunction (x: String): String;
begin
Result:= x+'рамма';
end;
procedure MyProcedure;
begin
ShowMessage(MyFunction('прог'));
end;
Допустим мы имеем некий программный код, который в определенный момент вызывает на выполнение процедуру MyProcedure. Порядок выполнения программы можно расписать следующим образом.
1. Вход в процедуру MyProcedure.