Модули
Язык Pascal позволяет создавать статические библиотеки типов, констант и подпрограмм. В терминах языка Pascal такие библиотеки называются модулями (unit). При написании новой программы, использующей такой модуль, достаточно в секции uses указать идентификатор модуля, и все объявления, сделанные в интерфейсной части соответствующего модуля, станут доступны этой программе.
Общая структура модуля выглядит следующим образом:
Unit <идентификатор_модуля>;
Interface
[Uses <идентификаторы_используемых_модулей>;]
[Const <описание_констант>;]
[Type <описание_типов>;]
[Var <описание_переменных>;]
{Procedure <заголовок_процедуры> |
Function <заголовок_функции>}
Implementation
[Uses <идентификаторы_используемых_модулей>;]
[Const <описание_констант>;]
[Type <описание_типов>;]
[Var <описание_переменных>;]
{Procedure <заголовок процедуры> <тело>|
Function <заголовок функции> <тело>}
End.
Идентификаторы, описанные в интерфейсной части модуля (секции Interface), доступны той программе, к которой будет подключаться этот модуль. При необходимости описания в модуле подпрограмм, в интерфейсную часть выносятся только их заголовки.
Идентификаторы, описанные в секции Implementation, являются внутренними для этого модуля и не могут быть видны из программы, к которой он подключается.
Процедуры и функции, заголовки которых описаны в интерфейсной части модуля, должны быть определены в секции Implementation. При этом допускается в качестве их заголовка использовать только идентификатор подпрограммы, без указания возвращаемого типа (для функций) и списка параметров.
Идентификатор модуля должен совпадать с именем файла, в котором он расположен. Так, например, если модуль называется «Vectors», то он хранится в файле «vectors.pas» и компилируется в «vectors.tpu».