Файлы формы

Для каждой формы в составе проекта автоматически создаются файл описа­ния (DFM) и файл модуля (PAS).

Файл описания формы является ресурсом Delphi и содержит характеристики формы и ее компонентов. Разработчик обычно управляет этим файлом через окно Конструктора формы и Инспектор объектов. При конструировании формы в файл описания автоматически вносятся соответствующие изме­нения.

Замечание

Файл описания формы является ресурсом Delphi, поскольку он разработан именно для этой среды и интерпретируется ею при создании формы прило­жения.

Содержимое файла описания формы определяет ее вид. Оно доступно через Конструктор формы. При необходимости можно отобразить этот файл на экране в текстовом виде, что выполняется командой View as Text(Про­смотреть как текст) контекстного меню формы. При этом форма пропадает с экрана, а содержимое файла ее описания открывается в окне Редактора кода и доступно для просмотра и редактирования. В качестве примера ниже приведен текст файла описания простой формы: она содержит одну кнопку Button!, для которой создан обработчик события onclick.

object Forml: TForml Left =192 Top = 107 Width =544 Height = 375 Caption = 'Forml' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif Font.Style = [] OldCreateOrder = False PixelsPerlnch = 96 TextHeight =13 object Buttonl: TButton

Left = 88

Top = 120

Width = 75

Height = 25

Caption = 'Buttonl '

TabOrder = 0

OnClick = ButtonlClick end end

Отметим, что в начальной (пустой) форме типа TForml отсутствуют строчки, относящиеся к кнопке Buttonl (выделены курсивом).

Из приведенного примера видно, что файл описания содержит перечень всех объектов формы, включая саму форму, а также свойства этих объектов. Для каждого объекта указывается его тип, для формы ее тип (класс) TForml описывается в модуле этой формы. Если в строчке Caption = 'Forml', опре­деляющей заголовок формы, вместо Forml ввести, например, текст первая форма, то заголовок формы изменится на новый. Однако на практике подоб­ные действия обычно выполняются в окне Инспектора объектов.

Повторное открытие окна Конструктора формы выполняется командой View/Forms...(Просмотр/Формы) или комбинацией клавиш <Shift>+<F12>, после чего открывается диалоговое окно View Form,в списке которого и вы­бирается нужная форма (рис. 1.10).

Одновременно можно отобразить на экране несколько форм. Для закрытия окна Конструктора той или иной формы достаточно выполнить команду File/Close(Файл/Закрыть) или щелкнуть мышью на кнопке закрытия соот­ветствующего окна.

 

Файл модуля формы содержит описание класса формы. Для пустой формы, добавляемой к проекту по умолчанию, файл модуля содержит следующий код:

unit Unitl; interface

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

type

TForml = class(TForm)

private

{ Private declarations } public

{ Public declarations } end;

var

Forml: TForml;

implementation {$R *.dfm} end.

Файл модуля формы создается Delphi автоматически при добавлении новой формы. По умолчанию к проекту добавляется новая форма типа TForm, не содержащая компонентов.

В разделе interface модуля формы содержится описание класса формы, а в разделе implementation— подключение к модулю директивой $к визу­ального описания соответствующей формы. При размещении на форме компонентов, а также при создании обработчиков событий в модуль формы вносятся соответствующие изменения. При этом часть этих изменений вы­полняется Delphi автоматически, а часть пишется разработчиком. Обычно все действия разработчика, связанные с программированием, выполняются именно в модулях форм.

Тексты модулей форм отображаются и редактируются с помощью Редактора кода. Открыть модуль формы можно в стандартном окне открытия файла, вызываемом командой File/Open,или в диалоговом окне View Unit(рис. 1.11), которое появляется при выполнении команды View/Units... или нажатии комбинации клавиш <Ctrl>+<F12>. В окне открытия модуля мож­но выбрать также файл проекта. После выбора нужного модуля (или проек­та) и нажатия кнопки ОКего текст появляется на отдельной странице Ре­дактора кода.

Рис.1.11.Открытие модуля формы

 

 

Отметим, что оба файла каждой формы (описания и модуля) имеют одина­ковое имя, которое отличается от имени файла проекта, хотя файл проекта и так имеет другое расширение.

При компиляции модуля автоматически создается файл с расширением DCU, который содержит откомпилированный код модуля. Этот файл можно удалять из каталога, в котором находятся все файлы проекта, но Delphi сно­ва создает этот файл при следующей компиляции модуля или проекта.