Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по курсу.docx
Скачиваний:
107
Добавлен:
24.02.2016
Размер:
2.8 Mб
Скачать

9.4. Оформление подпрограмм в библиотечный модуль

Набор подпрограмм, которые могут быть использованы при разработке целого ряда программ удобно оформить в виде отдельных тематических биб­лиотек. В разные библиотеки обычно собираются подпрограммы алгоритмов решения задач по определенной теме, например: вычисления всевозможных арифметических функций, обработка массивов и матриц, решение уравнений и др. Для организации таких библиотек в Паскале введены модули.

Модуль (Unit) - это автономно компилируемая программная единица, структура которой представлена на Рис. 9.2. Модуль состоит из интерфейс­ной части, т.е. доступной для других программ, и исполняемой части, кото­рая скрыта. В интерфейсной части располагаются необходимые константы, переменные и все заголовки подпрограмм, помещенных в данную библиоте­ку. В исполняемой части располагаются описания констант, переменных и подпрограмм.

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

Unit <имяМ>;

interface Uses имя1,имя2,. . . Const . . .

type . . . // описания, "видимые" из программ в которых

Var . . . // подключен данный модуль

Procedure имяП(. . .); Function имяФ(. . .): типФ;

implementation // Исполняемая часть Uses имя3,... ; Const . . . type . . .

Var . . . // описания, которые используются

Procedure MTV(. . .); // только внутри библиотечного модуля begin

end;

// описание подпрограмм, заголовки которых // помещены в интерфейсной части

Procedure ИП; Begin

end;

Function ИФ; begin

end;

Initialization // Инициирующая часть, например: Var Lw:textfile; // описание действий, которые Assign(Lw,'Modul'); // выполняются в начале работы программы Rewrite(Lw);

Finalization // Завершающая часть, например: Closefile(Lw); // описание действий, которые выполняются

// в момент завершения работы программы

end.

Рис.9.2.

Кроме того, модуль может содержать инициирующую и завершающую части, которые, однако, редко используются.

Заголовок модуля состоит из слова Unit и следующего за ним имени модуля, которое служит для связи с другими модулями и основной програм­мой. Имя модуля должно совпадать с именем файла на диске, в который по­мещается исходный текст модуля. Подключение модулей к разрабатываемой программной единице осуществляется с помощью оператора

Uses имяМ1, имяМ2,... ;

который должен стоять вначале раздела описаний, т.е. сразу после заго­ловков Program, Interface или Implementation (см. Рис. 9.2).

После подключения модуля в разрабатываемой программе становятся доступными все конструкции, описанные в интерфейсной части модуля.

Для создания нового модуля в Delphi следует в меню File выбрать File/New и затем, в открывшемся репозитории, выбрать пиктограмму Unit или Form (во втором случае создается скелет модуля со связанным с ним ок­ном). После этого модуль следует наполнить содержанием, записать, исполь­зуя Save As меню File и добавить в проект основной программы, используя опцию Add to Project меню Project [1].