Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Borland Pascal / Модули Borland Pascal /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Создание ваших собственных модулей - Программирование от RIN.RU
Создание ваших собственных модулей

Если вы хотите написать модуль, содержащий некоторые полезные подпрограммы, и использовать эти подпрограммы в своих программах, напишите модули и сохраните его под именем, заданным в заголовке модуля. 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  Обсудить в чате

8  В тему

Что такое модуль?

Структура модуля

Как используются модули?

Ссылки на описания модуля

Оператор uses секции реализации

Модули и большие программы

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь