Составители:
Рубрика:
100
<идентификатор процедурного типа>: function (<список па-
раметров> : <тип значения функции>;
По существу, запись объявления типа полностью совпа-
дает с записью заголовка процедуры или функции, за исключе-
нием того, что в ней опущен идентификатор процедуры (или
функции).
Примеры:
Proc = procedure;
SwapProc = procedure(var x, у: integer);
StrProc = procedure(s: string);
MathFunc = function(x: real): real;
DeviceFunc = function(var f: text): integer;
MaxPunc = function(a, b: real; f: MathFunc): real;
Для работы с переменными процедурного типа, необхо-
димо процедуры и функции, используемые в процедурных
присваиваниях и вызовах, описывать как подпрограммы с меж-
сегментной адресацией (дальним вызовом). Для этого после
заголовка подпрограммы ставиться служебное слово far.
Примеры:
program р39;
type
TProc = procedure;
procedure Exec_Proc( р: TProc);
begin
p;
end;
procedure p1; far;
begin
Writeln('процедура №1');
end;
procedure p2; far;
begin
Writeln('процедура №2') ;
end;
<идентификатор процедурного типа>: function (<список па-
раметров> : <тип значения функции>;
По существу, запись объявления типа полностью совпа-
дает с записью заголовка процедуры или функции, за исключе-
нием того, что в ней опущен идентификатор процедуры (или
функции).
Примеры:
Proc = procedure;
SwapProc = procedure(var x, у: integer);
StrProc = procedure(s: string);
MathFunc = function(x: real): real;
DeviceFunc = function(var f: text): integer;
MaxPunc = function(a, b: real; f: MathFunc): real;
Для работы с переменными процедурного типа, необхо-
димо процедуры и функции, используемые в процедурных
присваиваниях и вызовах, описывать как подпрограммы с меж-
сегментной адресацией (дальним вызовом). Для этого после
заголовка подпрограммы ставиться служебное слово far.
Примеры:
program р39;
type
TProc = procedure;
procedure Exec_Proc( р: TProc);
begin
p;
end;
procedure p1; far;
begin
Writeln('процедура №1');
end;
procedure p2; far;
begin
Writeln('процедура №2') ;
end;
100
Страницы
- « первая
- ‹ предыдущая
- …
- 98
- 99
- 100
- 101
- 102
- …
- следующая ›
- последняя »
