implementation
[uses<список модулей>;]
{локальные описания};
{реализация процедур и функций};
секция реализации
begin
[<операторы>;]
end.
секция инициализации
Служебное слово Unit определяет имя(заголовок) модуля. В отличии от Program, наличие оператора Unit, при описании модуля обязательно. Имя модуля должно совпадать с именем файла, в котором находится текст модуля. Между операторами Unit и interface не должно располагаться других операторов .В одном файле может располагаться один модуль.
Здесь располагаются описания констант, типов данных, процедур и функций доступных для любой программы или модуля, использующих данный модуль. При описании процедур и функций в интерфейсной секции описываются только их заголовки, сами тела описываются в секции реализации.
Здесь располагаются описания констант, типов данных, процедур и функций, доступных только внутри модуля(локальный объект), так же здесь описываются тела глобальных процедур и функций.
Заголовок глобальных процедур или функций должен быть идентичен, указанному в интерфейсной секции. Допускается указывать только имя процедуры или функции без списка параметров. Процедуры или функции, описанные в секции реализации и являющиеся локальными, должны иметь полный заголовок.
Секция инициализации.
Предназначена для выполнения некоторых действий, необходимых для работы модуля. При выполнении программы, к которой подключен данный модуль, сначала выполняется секция инициализации модуля, а затем основной блок программы. Если секция инициализации не содержит ни одного оператора, то служебное слово begin можно опустить.
В теле модуля оператор Uses может использоваться в двух местах: в секции интерфейсной и реализации. Отличие состоит в следующем: внешние модули, подключенные в интерфейсной секции, являются глобальными, а в секции реализации - локальными. Если внешний модуль подключен в секции реализации, то его объекты доступны только внутри модуля, а если в интерфейсной секции, то его объекты доступны программам или модулю, использующим данный модуль.