Пример. Имя файла, содержащего модуль, и имя модуля должны быть одинаковыми
Unit MyModul; или Unit Sort;
Имя файла, содержащего модуль, и имя модуля должны быть одинаковыми! Применительно к приведенному примеру это означает, что модуль MyModul должен храниться в файле MyModul.pas, а модуль Sort – в файле Sort.pas. Интерфейсная секция — общедоступная часть, " видимая" из любой программы (модуля). В ней описываются так называемые глобальные данные (константы, типы, переменные), используемые в модуле и доступные программе (или другим модулям, к которым присоединен данный). Здесь же содержатся заголовки (но не тексты!) процедур и функций, помещенных в модуль. Любая программа имеет доступ к этим объектам, как если бы они были описаны в ней.
Секция реализации содержит тела процедур и функций, описанных в интерфейсной секции. Здесь же описываются константы, переменные, процедуры и функции, являющиеся локальными, т.е. недоступными вне этого модуля.
После нее может быть секция инициализации. Она не имеет заголовка и может содержать (или не содержать) некоторую последовательность операторов, выполняющуюся при использовании модуля. Итак, последняя часть модуля всегда имеет следующий вид: Begin Операторы, выполняющиеся при инициализации модуля, которые могут отсутствовать. End. Модуль компилируется отдельно. Получается файл с расширением tpu, например, MyModul.tpu или Sort.tpu. Откомпилированный модуль компилятором должен быть помещен на диск. Если это не делается по умолчанию, то в меню Compile должно быть устанавлено Destination - disk (а не Memory). Чтобы программа могла работать с какими-либо модулями, сразу после ее заголовка должен быть записан оператор использования, определяемый служебным словом Uses. После этого слова через запятую перечисляются имена всех модулей, непосредственно используемых программой, а также модулей, используемых первыми. Пример. Program Test; Uses MyModul, Sort, Dos; Const Пример 1. Напишем модуль, содержащий процедуру сортировки массива вещественных чисел, и функцию, определяющую сумму его элементов.
|