- •Тема 1. Указатели и динамические переменные
- •Контрольные вопросы
- •Лабораторная работа 1. Организация списков с помощью динамических переменных
- •Тема 2. Модули
- •Initialization
- •Interface
- •Implementation
- •Контрольные вопросы
- •Лабораторная работа 2. Создание модуля для работы с динамическим списком
- •Тема 3. Объектно-ориентированное программирование
- •Контрольные вопросы
- •Лабораторная работа 3. Создание класса – списка
- •Interface
- •Implementation
- •Библиографический список
Initialization
Assign(f1, 'File1.dat');
Секция деинициализации
Раздел деинициализации начинается словом finalization и является необязательным. В этом разделе размещаются операторы, выполняемые при завершении работы программы, использующей данный модуль. Если программа использует несколько модулей, то содержимое их секций деинициализации выполняется в порядке, обратном порядку их перечисления в предложении uses.
В конце модуля размещается слово end. (с точкой).
Использование модуля в основной программе
Чтобы использовать подпрограммы, константы, типы, переменные, описанные в интерфейсной секции модуля, в основной программе следует записать слово uses, после которого указать имя (имена) модуля (модулей). После этого в основной программе можно использовать идентификаторы, указанные в интерфейсных секциях перечисленных модулей.
Если в программе используется объявление uses, оно должно открывать раздел описаний программы.
Использование идентификаторов элементов модуля
Как правило, идентификаторы объектов модуля (имена констант, типов, переменных, процедур и функций) используются в основной программе (или другом модуле) обычным образом. Однако может оказаться, что используемый идентификатор элемента модуля совпадает с идентификатором использующей его программы. Чтобы различить их, при обращении к элементу модуля указывается имя модуля, а затем через точку – идентификатор объекта (аналогично использованию полей записи).
Пример.
program Example;
uses Unit1;
var x: Real; // переменная x программы
begin
Read(x); // чтение значения переменной x программы
Read(Unit1.x); // чтение значения переменной x модуля
Writeln(x, Unit1.x); // использование одноименных переменных программы и модуля
end.
unit Unit1;
Interface
var x: Real; // переменная x модуля
Implementation
end.
Добавление модуля к проекту
Для добавления модуля к проекту необходимо в меню Fileвыполнить командуNewи в появившемся списке вновь создаваемых элементов проекта выбратьUnit(модуль). В окне кода проекта появится новая страница с заготовкой модуля, а в файл проектаавтоматическибудут вставлена ссылка на этот модуль. Новый модуль необходимо сохранить в нужной папке под нужным именем. Обычно модуль хранится в той же папке, что и проект.
Компиляция проекта, использующего модули
Программу, использующую модули, можно компилировать либо с помощью команды меню Project|Compile <имя проекта> (клавишиCtrl+F9) либоProject|Build <имя проекта>.
При использовании команды Project|Compileнаряду с компиляцией главной программы компилируются и те используемые программой модули, у которых к моменту компиляции был изменен текст.
При использовании команды Project|Build все используемые программой модули перекомпилируются безусловно.
Контрольные вопросы
Что такое модуль?
Для чего используются модули?
Какое имя должен иметь файл, содержащий модуль?
В файл с каким расширением имени компилируется файл исходного кода модуля?
Как получить доступ к программным элементам, определенным в модуле?
Какова структура модуля?
Из каких секций состоит модуль?
Каково назначение и структура секции интерфейса?
Каково назначение и структура секции реализации?
Каково назначение и структура секции инициализации?
Каково назначение и структура секции деинициализации?
Что означает перекрытие имен при использовании модулей?
Как получить доступ к перекрытому имени?
Как добавить модуль к проекту?
Каким образом компилируется проект, использующий модули?
