Implementation

Interface

Структура модуля

Модуль – это самостоятельная отдельно компилируемая программная единица, поэтому его структура напоминает структуру обычной программы:

1. заголовок модуля

2. интерфейсный раздел

3. раздел реализации

4. инициирующий раздел.

Собственно программный код располагается в исполняемой части, иногда в инициирующей. Заголовок и интерфейсная часть задают название модуля и перечисление всех программных элементов, которые представляет этот модуль тем программам или другим модулям, которые будут его использовать. Исходный текст модуля, как и любой Паскаль-программы, содержится в файле с расширением имени .pas. После компиляции модуля на диске создается файл с объектным кодом и расширением имени .tpu. (Turbo Pascal Unit).

Заголовок модуля содержит слово Unit и имя модуля:

Unit Abc;

Это имя указывается в разделе Uses программы, которой необходим доступ к этому модулю. Имя модуля должно совпадать с именем того файла, в который помещается исходный текст модуля.

Интерфейсный раздел обеспечивает взаимодействие данного модуля с головной программой и другими модулями. В нем объявляются глобальные, то есть доступные другим модулям и головной программе объекты: константы, типы, переменные, заголовки функций и процедур:

 

Uses список модулей, используемых интерфейсным разделом

Const объявление глобальных констант

Type объявление глобальных типов

Var объявление глобальных переменных

Function заголовки функций и процедур со списками формальных

Procedure параметров, видимых другим модулям и головной программе

Раздел реализации содержит описание функций и процедур, заголовки которых представлены в интерфейсном разделе. Кроме того, здесь могут быть объявлены локальные, то есть доступные только в пределах данного модуля метки, константы, типы и переменные, если они применяются в инициирующем разделе:

Uses список модулей, используемых разделом реализации (скрытых)

Const объявление локальных констант

Type объявление локальных типов

Var объявление локальных переменных

Function описание указанных ранее функций и процедур без списка Procedure формальных параметров

Этот раздел скрыт от вызывающей программы и других модулей.

В инициирующем разделе могут содержаться операторы, которые до передачи управления вызывающей программе или модулям выполняют некоторые подготовительные действия, например, инициализацию глобальных переменных или открытие необходимых файлов: