- •Модули. Структура модуля. Стандартные модулиDelphi. Структура модуля.
- •Interface
- •Пример модуля для вычисления расстояний между точками на плоскости и площади треугольника, заданного тремя точками.
- •Interface
- •Implementation
- •Пример модуля, реализующего стек с целыми числами.
- •Interface
- •Implementation
- •Var m:array of integer;
- •Initialization
- •Модули Delphi МодульMath
- •МодульSysUtils
- •Модуль Console
- •Задания.
Модули. Структура модуля. Стандартные модули 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начинается секция операторов, выполняемых при завершении работы.