Модуль – автономно компилируемая программная единица, включающая в себя различные компоненты раздела описания (типа, константы, переменные, процедуры и функции) и некоторые исполняемые инструкции инициирующей части.
Модули представляют собой инструмент для разработки библиотек прикладных программ и средства для модульного программирования. Особенность модулей заключается в том, что компилятор разделяет их код в отдельном сегменте памяти, что дает возможность создавать большие программы.
При разработке модуля рекомендуется следующая последовательность действий:
- Спроектировать модуль, т. е. определить основные и вспомогательные подпрограммы и другие ресурсы.
- Описать компоненты модуля.
- Отладить каждую подпрограмму отдельно, после чего «вклеить» в текст модуля.
Есть модули стандартные и пользовательские.
Связь программы с модулем устанавливается через uses <имя модуля>.
Интерфейсная часть модуля (interface)В этой части модуля содержится объявление всех глобальных объектов модуля (типов, констант, переменных и подпрограмм), которые должны стать доступными основной программа и/или другим модулям. При объявлении глобальных подпрограмм в интерфейсной части указывается только их заголовок, а основной программе становится доступными перечисленные переменные и сами подпрограммы. Объявление подпрограммы в интерфейсной части автоматически сопровождается их компиляцией.
Исполняемая часть модуля (implementation)содержит описание подпрограмм, объявленных в интерфейсной части. В ней могут объявляться локальные для модуля объекты: вспомогательные типы, константы, переменные, а также метки, если они используются в инициализирующей части. Описанию подпрограммы, объявленной в интерфейсной части модуля, в исполняемой части должен предшествовать заголовок, в котором можно опустить список формальных параметров, т. к. они уже описаны в интерфейсной части.
Инициирующая часть завершает модуль. Это часть может отсутствовать вместе с начинающим ее словом begin или быть пустой (тогда за begin следует end). В инициализирующей части размещается исполняемые инструкцию, содержащие некоторый фрагмент программы. Эти инструкции используются для передачи управления основной программы для подготовки ее работы.
При компиляции модуля или основной программы все опоминающиеся в разделе uses модули должны быть откомпилированы, а результаты перемещены в одноименные файлы с расширением .tpu.