Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
26
Добавлен:
21.05.2015
Размер:
101.38 Кб
Скачать

11

Модули. Структура модуля. Стандартные модули Delphi.

Модули. Структура модуля. Стандартные модули Delphi. 2

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

Пример модуля для вычисления расстояний между точками на плоскости и площади треугольника, заданного тремя точками. 3

Пример модуля, реализующего стек с целыми числами. 4

Модули Delphi 6

Модуль Math 6

Модуль SysUtils 8

Модуль Console 9

Задания. 11

Модули. Структура модуля. Стандартные модулиDelphi. Структура модуля.

Модули – одно из ключевых понятий языка Паскаль. Они предназначены для разбиения проекта на части. В каждом модуле могут быть собраны константы, типы, переменные, процедуры и функции, объединенные по смысловому признаку. Например, модуль для работы с комплексными числами или со стеком. Модуль представлен отдельным файлом с расширением*.pas. Скомпилированный модуль имеет расширение*.dcu. Для добавления в проектDelhiнового модуля необходимо выполнить командыFile->New->Unit. После выполнения этой команды на отдельной закладке редактора кода появляется заготовка модуля:

unitUnit1;

Interface

implementation

end.

Модуль по умолчанию будет называться Unit1. Причем, в файл программы в раздел подключения модулейuses будет добавлено соответствующее имя модуля. Это имя будет автоматически изменяться при сохранении модуля под другим именем.

programProject1;

{$APPTYPE CONSOLE}

uses

SysUtils,

Unit1 in 'Unit1.pas';

begin

end.

Формальная структура модуля выглядит так:

unit<Имя модуля>;

interface

Uses<Имя модуля 1>, <Имя модуля 2>,<Имя модуля 3>;{подключение модулей}

{Раздел описания типов, констант, переменных и заголовков процедур и функций доступных для других модулей и программ}

Const …….

Type …….

Var ……

implementation

Uses<Имя модуля 4>, <Имя модуля 5>;{подключение модулей}

{Раздел описания локальных типов, констант, переменных, процедур и функций (доступны только процедурам и функциям этого модуля). Тексты процедур и функций, объявленных в интерфейсной части модуля}

Const …….

Type …….

Var ……

Initialization

{Раздел операторов, выполняемых при инициализации (подключении). Выполняется до первого оператора программы, использующей модуль. Можно воспользоваться для присвоения переменным модуля начальных значений или создания динамических переменных}

Finalization

{Раздел операторов, выполняемых при завершении работы. Можно воспользоваться для удаления динамических переменных}

end.

После заголовка, содержащего служебное слово unit и идентификатор имени модуля (имя модуля и имя файла с расширениемpas, в котором записан модуль, должныобязательносовпадать), идет внешний разделinterface (интерфейсная часть модуля). Все, описанное в этом разделе, доступно из программы и других модулей, использующих этот модуль. В интерфейсной части описываются только заголовки процедур и функций – имя и список формальных параметров. Тело (текст) этих подпрограмм должно находиться в следующей части модуля, после словаimplementation.В разделеinterfaceмогут быть подключены другие модули с помощью служебного словаuses. Перекрестные ссылки модуля на модуль в интерфейсной части запрещены (модуль А подключает модуль В, а модуль В подключает модуль А). При необходимости, для избежания перекрестных ссылок их можно сделать в исполнительной части.

Раздел реализации (исполнительная часть модуля) implementationпредназначен для написания текстов процедур и функций из интерфейсной части модуля, а также для определения локальных (видимых только в этом модуле) констант, типов, переменных и подпрограмм.

После необязательного служебного слова Initializationначинается секция операторов, выполняемых при инициализации.

После необязательного служебного слова Finalizationначинается секция операторов, выполняемых при завершении работы.