Если вы хотите написать модуль, содержащий некоторые полезные подпрограммы, и использовать эти подпрограммы в своих программах, напишите модули и сохраните его под именем, заданным в заголовке модуля. Borland Pascal сохраняет файл с расширением .PAS, как и любой другой файл, созданный в редакторе Borland Pascal. В исходном файле может содержаться только один модуль.
Компиляция модуля
Скомпилировать модуль вы можете двумя способами. Вы можете:
Скомпилируйте модуль с помощью команды Compile|Compile. Вместо создания файла .EXE Borland Pascal создает файл .TPU, .TPW или .TPP.
Целевая платформа | Расширение имени файла модуля | DOS реального режима | .TPU | Windows | .TPW | DOS защищенного режима | .TPP |
Например, если ваш модуль называется MYUNIT.PAS, если целевой платформой является Windows, он компилируется в MYUNIT.TWP.
Для компиляции программы, которая включает в себя оператор uses, используйте команду Compile|Make или Compile|Build. В зависимости от целевой платформы, создается файл .TPU, .TPW или .TPP.
Примечание: О том, как использовать оператор uses, рассказывается в следующем разделе.
Доступность модуля для программы
Скопируйте свой новый файл .TPU, .TPW или .TPP в каталог модулей, заданный в диалоговом окне Options|Directories, или используйте параметр командной строки /U при работе с компилятором режима командной строки.
Если вы поместите свой модуль в заданный каталог модулей, то сможете ссылаться на этот модуль, даже если он не находится в текущем каталоге или в библиотеках исполняющей системы.
Включите в любую программу, где вы хотите использовать свой новый модуль, оператор uses. Например, если ваш новый модуль называется INTLIB.TPW, то задайте в своей программе оператор следующего вида:
uses IntLib;
Чтобы найти модуль, имя которого указано в операторе uses, Borland Pascal проверяет его наличие в библиотеке исполняющей системы, загруженной в память в время инициализации.
Примечание: О том, как поместить модуль в библиотеку исполняющей системы, рассказывается ниже.
Если модуль в библиотеке исполняющей системы отсутствует, то компилятор ищет его на диске, сначала в текущем каталоге, затем в каталогах, заданных в качестве каталогов модулей (Options|Directories). Компилятор предполагает, что имя файла совпадает с именем модуля, а расширение имени файла - это .TPU, .TPW или .TPP. Исходный текст модуля имеет расширение .PAS.
Пример
Теперь напишем небольшой модуль. Назовем его IntLib и вставим в него две простые подпрограммы для целых чисел - процедуру и функцию:
unit IntLib;
interface procedure ISwap(var I,J : integer); function IMax(I,J : integer) : integer; implementation procedure ISwap; var Temp : integer;
begin Temp := I; I := J; J := Temp end; { конец процедуры ISwap } function IMax; begin if I > J then IMax := I else IMax := J end; { конец функции IMax } end. { конец модуля IntLib }
Наберите этот модуль, запишите его в файл INTLIВ.PAS, а затем скомпилируйте, задав в качестве целевой платформы защищенный режим DOS. В результате получим код модуля в файле INTLIВ.ТРP. Перешлем его в каталог модулей (если такой имеется), или оставив в том же каталоге, где находится следующая программа, которая использует модуль IntLib:
program IntTest; uses IntLib; var A,B : integer; begin Write("Введите два целочисленных значения: "); Readln(A,B); ISwap(A,B); Writeln("A = ",A," B = ",B); Writeln("Максимальное значение равно ",IMax(A,B)); end. { конец программы IntTest }
8 8 8
| |