После того как вы подключили модуль к своей программе, все константы, типы данных, переменные и функции, описанные в интерфейсной секции этого модуля, становятся доступными для вашей программы.
Замечание: если несколько модулей имеют переменные, типы данных, константы, процедуры или функции, имена которых совпадают, то для корректного их использования необходимо применять следующее обращение:<имя модуля>.<id>
В редакторе Turbo Pascal текст модуля набирается как текст обычной программы, отличие состоит в том, что при компиляции на диске создастся файл следующего вида <имя модуля>.tpu(Turbo Pascal Unit)
Замечание: убедитесь, что компиляция модуля происходит на диск, а не в память(параметр Compile/Destination=Disk).
Скомпилированный модуль может находиться в следующих местах:
· -в текущей дирректории;
· -в дирректории, определяемой параметром:Options/Directories, которая задает каталоги модулей;
· -в папке, где установлен Pascal в подкаталоге Units.
Замечание: при создании модулей возможна такая ситуация: модуль MyUnit1 использует модуль MyUnit2, а модуль MyUnit2 использует MyUnit1.Такая ситуация называется циклической и является абсолютно нормальной.
Создадим модуль, содержащий процедуры и функции для работы с целыми числами.
Unit Intlib;{intlib.pas}
Interface{начало интерфейсной секции}
Var Myvar:integer;
Function IntMax(x,y:integer):integer;{большее из двух}
В реальных задачах часто присутствуют связанные друг с другом, но однородные данные, т.е. разного типа.
Для реализации подобных структур в языке Pascal присутствует специальный тип - запись. Тип запись содержит установленное число элементов или полей, которые могут быть различных типов.
Описание типа: запись указывает тип каждого поля и идентификатор, который именует поле.
Общий вид:
Record
<имя поля1>:<тип поля1>;
<имя поля2>:<тип поля2>; фиксированная часть
…;
<имя поляN>:<тип поляN>;
[вариантная часть]
end;
где <имя поля i> - идентификатор поля,
<тип поля i> - простой или структурный тип.
Фиксированная частьcодержит список фиксированных полей вместе с идентификатором и типом для каждого поля.