В ТП процедуры и функции рассматриваются как объекты, которые можно присваивать переменным, передавать в качестве параметров и т.д. Для этого существуют процедурные типы.

Процедурный_тип ::=

("procedure" [список_формальных_параметров]) |

("function" [список_формальных_параметров] ":" тип).

После его определения можно объявлять переменные процедурного типа.

Пример:

type

Proc = procedure;

SwapProc = procedure(var X, Y: Integer);

StrProc = procedure(var S: String);

MathFunc = function(X: Real): Real:

DeviceFunc = function(var F: Text): Integer;

MaxFunc = function(A, B: Real; F: MathFunc): Real;

var A: SwapProc;

B: StrProc;

С: MaxFunc;

Этим переменным можно присваивать идентификаторы глобальных процедур и функций, скомпилированных по дальней модели вызова (см. параграф 1.8.5.1)

Более подробно процедурные типы мы рассмотрим в параграфе 1.8.4.

<- Предыдущая страница | Следующая страница ->
Последнее изменение: Вторник 1 Март 2011, 17:30