Unit - заголовок модуля, в котором указывается имя библи отечного модуля. Это имя должно совпадать с именем файла, содержащий исходный текст модуля и используется для ссылки на библиотечный модуль из основной программы или для связи с другими модулями и записывается в предложении Uses.
Пример. Исходный текст модуля находится в файле MyCrt.pas, поэтому данный библиотечный модуль имеет заголовок Unit MyCrt, а в основной программе присутствует предложение Uses MyCrt;
Interface - интерфейсная или видимая часть модуля, в которой сконцентрированы описания глобальных типов, констант, переменных, заголовков различных процедур и функций. Все описания интерфейсной части доступны основной программе и другим модулям. Если используются внешние подпрограммы, то после заголовка нужно написать зарезервированное слово External ,а при использовании встроенных машинных блоков должны следовать машинные коды со словом Inline.
В интерфейсной части запрещены опережающие описания. Для ссылки на другой модуль используется предложение Uses с указанием имени используемого модуля. Предложение Uses располагается после служебного слова Interfaсe.
Ссылки модулей друг на друга могут образовывать структуру любой сложности, но запрещено явное или косвенное обращение модуля к самому себе.
Например запрещены обращения :
Unit A; Unit B; или Unit A;
Interface Interface Interface
Uses B; Uses A; Uses A;
End. End. End.
Implementation - исполняемая часть, включающая описания локальных данных: констант, типов переменных и подпрограмм. Кроме этого в исполняемой части содержатся тела подпрограмм, заголовки которых описаны в части Interface. Перед телом подпрограммы снова указывается заголовок, в котором можно опускать список формальных параметров и тип функции, т.к. они считаются определенными в интерфейсной части. Все описанные в этой части данные помещаются в общий сегмент памяти.
Begin - инициализирующая часть является частью библиотечного модуля. В ней размещаются исполняемые операторы, содержащие некоторый фрагмент программы. Эти операторы используются для инициализации модуля, например, часть может отсутствовать, в этом случае зарезервированное слово Begin не используется а указывается конец модуля зарезервированным словом End, за которым следует точка.
End - конец модуля.
При построении библиотеки придерживаются следующих этапов:
1) Формирование модуля UNIT в который войдут все процедуры будущей библиотеки. Полученный модуль имеет расширение PAS.
2) Компиляция в режиме Compile,Make,Build главного меню TURBO PASCAL модуля UNIT на диск . Полученный библиотечный модуль будет иметь расширение TPU.
3) Проверка работоспособности вашей библиотеки.
Для примера рассмотрим создание личной библиотеки с именем MyCrt, в которую войдут наиболее oбщие процедуры, дополняющие модуль Crt, описанные в разделе 1.2.
Проверку работоспособности библиотечного модуля MyCrt проверим на примере программы PrimMenu.