ВУЗ:
Составители:
Рубрика:
59
Исключение составляют процедуры с директивой inline (для вставки машин-
ных кодов, т.е. ассемблерные макросы Procedure PrintScreen; inline ($
CD/0.5); соответствуют ассемблерной команде INTOS, INLINE – процедуры
и функции не могут иметь тела, всё их содержание описано кодами в дирек-
тиве inline) они могут целиком задаваться в разделе объявлений.
Недопустимы заголовки с директивами interrupt (для обработки прерываний)
и forward.
Описание всех
объектов, за исключением имён используемых моду-
лей, могут располагаться в интерфейсной части в произвольном порядке.
Перечень имён модулей должен быть размещён первым. Если используемая
процедура является внешней, то в её заголовке не указывается директива Ex-
ternal.
Если при объявлении типов, данных или подпрограмм используются
константы и типы, введённые в других модулях (библиотеках),
то эти моду-
ли должны быть перечислены в директиве USES сразу после ключевого слова
INTERFACE. В модулях директива USES может повторяться дважды. Второй
раз – в разделе реализации. Рекомендуется указывать в разделе объявлений
только те модули, которые необходимы. Прочие лучше подсоединить в дру-
гом месте.
Один из возможных вариантов интерфейсной части модуля Complex
может выглядеть
следующим образом:
Interface
{объявление идентификатора комплексного типа}
Type Complx = Record
Re, Im:Real;
end;
{заголовки входящих в состав модуля подпрограмм, сами
подпрограммы приводятся в исполнительной части}
Procedure Csum (a, b:Complx; Var d:Complex);
Procedure Cdiv (a, b:Complx; Var d:Complex);
Function Cmod (a:Complx):Real;
Исполнительная (реализующая) часть
Раздел реализации состоит, как правило, из тел процедур и функций,
объявленных в разделе объявлений.
60
Функции и процедуры не нуждаются более в списке параметров. Пара-
метры стоят уже в заголовках интерфейсной части, которые имеют то же
действие, что и ссылка forward. Но в интерфейсной части заголовки могут
повторяться, так что корректны обе приведенные ниже формулировки:
unit mod1;
interface
procedure p(a, b:real);
implemetation procedure p;
{список параметров процедуры р записан в
интерфейсной части}
begin
............ исполнительная часть процедуры P
end; {end для р}
end.
unit idem;
interface
procedure p(a, b:real);
implemetation
procedure p(a, b:real);
implementation
Описание констант
Описание
фу
нкции
Описание п
р
оцед
у
р
ы
Описание пе
р
еменных
Описание типов
;
;
Исключение составляют процедуры с директивой inline (для вставки машин-
ных кодов, т.е. ассемблерные макросы Procedure PrintScreen; inline ($ implementation
CD/0.5); соответствуют ассемблерной команде INTOS, INLINE процедуры
и функции не могут иметь тела, всё их содержание описано кодами в дирек- Описание констант
тиве inline) они могут целиком задаваться в разделе объявлений.
Недопустимы заголовки с директивами interrupt (для обработки прерываний) Описание типов
и forward.
Описание всех объектов, за исключением имён используемых моду- Описание переменных
лей, могут располагаться в интерфейсной части в произвольном порядке.
Перечень имён модулей должен быть размещён первым. Если используемая Описание процедуры
процедура является внешней, то в её заголовке не указывается директива Ex-
ternal. Описание функции
Если при объявлении типов, данных или подпрограмм используются
константы и типы, введённые в других модулях (библиотеках), то эти моду- ;;
ли должны быть перечислены в директиве USES сразу после ключевого слова
INTERFACE. В модулях директива USES может повторяться дважды. Второй Функции и процедуры не нуждаются более в списке параметров. Пара-
раз в разделе реализации. Рекомендуется указывать в разделе объявлений метры стоят уже в заголовках интерфейсной части, которые имеют то же
только те модули, которые необходимы. Прочие лучше подсоединить в дру- действие, что и ссылка forward. Но в интерфейсной части заголовки могут
гом месте. повторяться, так что корректны обе приведенные ниже формулировки:
Один из возможных вариантов интерфейсной части модуля Complex
может выглядеть следующим образом: unit mod1;
Interface interface
{объявление идентификатора комплексного типа} procedure p(a, b:real);
Type Complx = Record implemetation procedure p;
Re, Im:Real; {список параметров процедуры р записан в
end; интерфейсной части}
{заголовки входящих в состав модуля подпрограмм, сами begin
подпрограммы приводятся в исполнительной части} ............ исполнительная часть процедуры P
Procedure Csum (a, b:Complx; Var d:Complex); end; {end для р}
Procedure Cdiv (a, b:Complx; Var d:Complex); end.
Function Cmod (a:Complx):Real;
unit idem;
Исполнительная (реализующая) часть interface
Раздел реализации состоит, как правило, из тел процедур и функций, procedure p(a, b:real);
объявленных в разделе объявлений. implemetation
procedure p(a, b:real);
59 60
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
