В стандарте Паскаля нет модулей. Текст программы на Паскале хранится в едином файле. Транслятор снабжает программу встроенными и библиотечными функциями и процедурами на этапе редактирования связей. Для использования ранее написанной подпрограммы ее текст необходимо вставить в секцию описаний. В стандарте нет другого механизма использования ранее написанной подпрограммы.
В ТР используется метод «погружения» текста программы в область действия описаний, находящихся в других файлах. Такие файлы являются отдельными программными единицами (то есть могут транслироваться независимо) и называются модулями.
Погружение программы в область описаний модуля осуществляется в предложении uses. Это предложение записывается сразу после заголовка программы и имеет следующий формат:
uses <список модулей через запятую>
Область действия описаний каждого модуля начинается с имени этого модуля в предложении uses и заканчивается концом программы.
Структура модуля:
Unit <имя модуля>;
interface
[uses ...]
<описания глобальных типов данных, переменных, констант, процедур и функций>
implementation
[uses ...]
<реализация>
begin
<инициализация>
end.
Имя файла, содержащего исходный текст модуля (.pas) или объектный код (tpu), должно совпадать с именем модуля. Если имя модуля длиннее восьми символов, то оно должно совпадать с именем файла по первым восьми символам.
В списке uses имен модулей не должно быть «рекурсий» и «циклов»
При работе с модулями следует помнить, что в среде ТР имеется возможность управлять размещением кодов в файловой системе и режимами трансляции:
Options/Directories/EXE&TPU - сюда будут помещены загрузочные и объектные коды
Options/Directories/Unit Directories - здесь будет осуществляться поиск объектных (TPU) кодов модулей
Compile/Compile – компиляция только программы
Compile/Make – компиляция программы и модулей, текст которых был изменен
Compile/Build– компилируется и программа, и все модули