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

 

Модули - это программные единицы, служащие для размещения фрагментов программ. При помощи содержащихся в них текстов программ и реализуется решаемая пользователем задача.

Начинается модуль словом unit, за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в инструкции uses главного модуля приложения.

Модуль состоит из следующих разделов:

· интерфейса;

· реализации;

· инициализации.

Раздел интерфейса (начинается словом interface) сообщает компилятору, какая часть модуля является доступной для других модулей программы. В этом разделе перечислены (после слова uses) библиотечные модули, используемые данным модулем. Также здесь находится сформированное Delphi описание формы, которое следует за словом type.
Раздел реализации открывается словом implementation и содержит объявления локальных переменных, процедур и функций, поддерживающих работу формы.

Начинается раздел реализации директивой {$R *.DFM}, указывающей компилятору, что в процессе генерации выполняемого файла надо использовать описание формы. Описание формы находится в файле с расширением dfm, имя которого совпадает с именем модуля. Файл описания формы генерируется средой Delphi на основе внешнего вида формы.

 

Рис. 2 Окно модуля

 

За директивой ($R *.DFM} следуют процедуры обработки событий для формы и ее компонентов. Сюда же программист может поместить другие процедуры и функции.
Раздел инициализации позволяет выполнить инициализацию переменных модуля. Инструкции раздела инициализации располагаются после раздела реализации (описания всех процедур и функций) между begin и end. Если раздел инициализации не содержит инструкций (как в приведенном примере), то слово begin не указывается.

Следует отметить, что значительное количество инструкций модуля формирует Delphi. Например, Delphi, анализируя действия программиста по созданию формы, генерирует описание класса формы (после слова type). В приведенном примере инструкции, набранные программистом, выделены фоном. Очевидно, что Delphi выполнила значительную часть работы по составлению текста программы.

Проект представляет собой набор файлов, используя которые компилятор создает исполняемый файл программы (EXE-файл).

Проект включает файлы:

¨ файл описания проекта (DOF-файл);

¨ файл главного модуля (DPR-файл);

¨ файл ресурсов (RES-файл);

¨ файлы описания форм (DFM-файлы);

¨ файлы модулей форм (PAS-файлы);

¨ файл конфигурации (CFG-файл).

Является основным и представляет собой программу: program Project1; {Имяпрограммы}   uses {Оператор} Forms, {Имяподключаемогомодуля} Unit1 in 'Unit1.pas' {Form1}; {Перечислениемодулейвсехформпроекта} {$R *.RES} {Директива подключения к проекту файл ресурсов} begin {Главный блок программы} Application.Initialize; {Инициализация приложения} Application.CreateForm(TForm1,Form1); {Созданиеформы} Application.Run; {Запускприложения} end. Просмотреть и отредактировать код файла в окне Редактора кода можно с помощью команды: Project/ViewSource (Проект/Просмотр источника). Для приложения с одной формой: совпадает с именем файла и указывается при сохранении файла на диске. Оператор Uses сообщает компилятору, что программа использует модуль с исходным кодом формы Unit1.pas. Имя подключаемого модуля Form1 указано в виде комментария. Кроме того, перечисляются подключаемые модули всех форм проекта. Файл ресурсов имеет имя, совпадающее с именем файла проекта. Можно подключить и другие ресурсы, добавив директивы и указав в них нужные имена. Операторы выполняют инициализацию приложения, создание формы и запуск приложения. При выполнении операций с проектом код файла проекта формируется Delphi автоматически.
2.2. Файлы формы Модуль формы и описание формы
Для каждой формы создаются автоматически файл описания UNIT.DFM и файл модуля UNIT.PAS.   Файл описания формы (*.dfm) содержит характеристики формы и ее компонентов (двоичный). При конструировании формы в Файл описания автоматически вносятся соответствующие изменения. Для каждой формы декларируется тип, определяющий эту форму как класс. Он содержится в модуле UNIT1.PAS Чтобы отобразить этот файл на экране необходимо: 1. Закрыть окно Конструктора той формы, для которой нужно отобразить файл описания; 2. Активизировать команду File/Open (Файл/Открыть); 3. В диалоговом окне ( ДО ) Open (Открыть) в списке типов файлов найти и установить маску *.dfm; 4. Выделить нужный файл и нажать на кнопку Open.     Редактор кода и его содержимое будет доступно для просмотра и редактирования.   Чтобы открыть окно Конструктора формы: 1. Закрывается Редактор кода командой File/Close; 2. Открывается Конструктор формы командой View/ Forms, в ДО которого выбирается нужная форма.   Файл модуля формы (*.pas) содержит описание класса формы (поведение компонент и функционирование обработчиков событий). Создается автоматически при добавлении новой формы. При размещении на форме компонентов, в модуль формы вносятся соответствующие изменения. Часть изменений вносит Delphi, а часть – разработчик. Открыть модуль формы можно с помощью: - команды File/Open или - в ДО View/Units (Просмотр/Модули), где выбирается нужный модуль.   Файлы Модуля формы и Описания формы имеют одинаковое имя, которое отличается от имени файла проекта. Используя Конструктор формы и Инспектор объектов, разработчик сам управляет этим файлом. Пример описания формы с кнопкой Button1.   Object Form1:TForm1 {Объявление класса Формы1} Left = 193 Top = 246 Width = 544 Height = 375 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [ ] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end.   Interface {описаниеклассаформы} uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; Implementation {Подключениекмодулюописа {$R *.DFM} ния соответствующей формы} end. Тексты модулей форм отображаются в окне Редактора кода и редактируются с его помощью.
2.4. Файл ресурсов PROGECT.RES  
При первом сохранении проекта автоматически создается файл ресурсов с именем, совпадающим с именем файла проекта. Файл содержит следующие ресурсы: - пиктограммы; - растровые изображения; - курсоры. Файл ресурсов первоначально содержит пиктограмму проекта. Его можно изменить, используя графический редактор ImageEditor 3.0. Вызывается редактор командой Tools / ImageEditor (Инструменты/Редактор изображений). В файле ресурсы разбиты на группы. Каждая группа имеет имя. ImageEditor позволяет работать с файлами, содержащими следующие ресурсы: - Пиктограммы компонентов (*.DCR); - Растровые изображения (*.BMP); - Пиктограммы приложений (*.ICO) - Курсоры (*.CUR). Эти компоненты являются ресурсами Windows, поскольку они разработаны в соответствии со стандартами этой системы.   На рисунке показано окно редактора, в которое загружен файл и выполняется редактирование пиктограммы приложения. Файл ресурсов имеет иерархическую структуру, в которой ресурсы разбиты на группы, а каждый ресурс имеет уникальное в пределах группы имя. Имя ресурса задается при его создании и в последующем используется в приложении для доступа к этому ресурсу. Программа проекта находится в группе Icon и по умолчанию имеет имя MAINICON.
2.5. Файл параметры проекта PROGECT.OPT
Используется для установки параметров проекта с помощью команды меню Project / Options.   Параметры разбиты на группы, каждая из которых располагается в соответствующем окне на своей странице.     После установки отдельных параметров Delphi автоматически вносит нужные изменения в соответствующие файлы проекта. Файл параметров проекта представляет собой текстовой файл, в котором построчно располагаются параметры и их значения. Этот файл представляет собой текстовой файл, который содержит текущие установки проекта: - настройки компилятора и компоновщика, - имена служебных каталогов, - условные директивы и параметры командной строки, - настройки проекта (какие окна открыты и в каких позициях они расположены), - конфигурацию проекта. Например: Проект может быть откомпилирован с отладочной информацией или без нее. Во время разработки целесообразно постоянно включать в проект отладочную информацию. Для этого необходимо установить опцию DebugInformationна странице Compiler данного диалогового окна (ДО). - файл конфигурации: *.DOF-файл, содержит текущие установки проекта, например, настройки компилятора, имена служебных папок и т.п. DSK –файл с настройками проекта. Он позволяет восстановить внешний вид рабочей среды проекта.
2.5. Резервные файлы  
Delphi создает резервные копии файла проекта, а также PAS- и DFM-файлов. Резервные копии: *.~DP файла проекта с расширением DPR. Создается при повторном сохранении проекта. *.~PA модуля проекта с расширением PAS. Создается при повторном сохранении проекта, если в исходном коде модуля были сделаны изменения. *.~DF файла формы. Создается в случае, если DFM-файл был открыт в виде текста, и в нем были сделаны изменения. Если первый символ в расширении файла – тильда (~), речь идет о зарезервированной копии.     *.~BP файла группы проектов с расширением BPG. Этот файл создается при повторном сохранении файла группы проектов.  

3. 0. Компиляция и выполнение проекта

В процессе компиляции проекта создается:

- готовый к выполнению файл (*.EXE) или

- динамически загружаемая библиотека (*.DLL).

 

Имя приложения совпадает с именем файла проекта.

Само приложение является автономным.

Запуск процесса компиляции выполняется по команде Project /Compile<Project 1>

Компиляция может быть выполнена на любой стадии разработки проекта.

При компиляции происходит:

- создание исполняемого файла - приложения *.EXE;

- компиляция файлов всех модулей, содержимое которых изменилось после последней компиляции.

В результате создается файл с расширением *.DCU;

- перекомпиляция модуля, в который внесены изменения и модулей, использующие его с помощью директивы uses.

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

Проект может быть откомпилирован с отладочной информацией или без нее. Во время разработки целесообразно постоянно включать в проект отладочную информацию. Для этого надо установить опцию DebugInformationна странице Compiler данного диалогового окна (ДО). Preferences (предпочтение)

Ход процесса компилирования будет отображаться на экране, если установить опцию Show compiler progress в менюTools/ Environment Options/Preferences.

СборкапроектавыполняетсякомандойProject /Bild<Project 1> . (Проект/Собрать <Проект>

)

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

 

Запускать проект можно из:

- среды Delphi и

- среды Windows.

Запуск проектаиз среды Delphiвыполняется командой Run/Run. (Выполнение/выполнить.)

Созданное приложение начинает свою работу.

При внесении изменений в файлы, предварительно выполняется компиляция проекта.

Особенности запуска в среде Delphi:

- нельзя запустить вторую копию приложения;

- продолжить разработку проекта можно только после завершения работы приложения;

- при "зависании" приложения завершение его работы необходимо выполнить средствами Delphi командой Run/ProgramReset или клавишами <Ctrl>+<F2>.

Запуск проектаиз среды Windowsзапускается так же, как и любое другое приложение, например с помощью Проводника. Приложение.EXE не требует при своей работе дополнительных файлов Delphi.

Для отладки приложений в среде Delphi можно использовать отладчик.