Главная » Delphi » Проводник структуры кода

0

В окне  Code Explorer можно  просматривать модули,  представленные во вкладках окна  Code Editor,  как  древовидную  структуру.  Подобное представление позволяет легче ориентироваться в модулях, а также добавлять новые  или переименовывать уже существующие  элементы модулей. Очень важно  помнить, что между окнами Code Explorer и  Code Editor всегда  поддерживается связь  типа  “один  к одному”.  Щелчок правой кнопкой мыши на любом из элементов в окне  Code Explorer позволяет вывес ти контекстное меню с командами, доступными для этого  объекта. Кроме  того,  можно управлять сортировкой и фильтрацией объектов, отображаемых в окне Code Explorer. Для этого  используются параметры, расположенные во вкладке  Explorer диалогового окна Environment Options (Параметры среды).

Древовидное представление объектов

Древовидное представление объектов (Object TreeView) обеспечивает визуальное представление иерархии компонентов, модулей  данных  и фреймов,  помещенных в форму. Отображаемая структура данных учитывает взаимосвязь между отдельными компонентами на уровне  родительский дочерний, компонент свойство или свойство свойство. Кроме средства представления, дерево объектов может  послужить удобным инструментом редактирования связей  между компонентами. Проще всего  это можно сделать  перетащив компонент из палитры или дерева  в другое  место  дерева.  Это  из менит  взаимосвязь между двумя компонентами (если это возможно).

Обзор исходного кода проекта

При  работе с визуальными компонентами в конструкторе форм  Delphi  автомати чески  создает  соответствующий код на языке  Object  Pascal.  Простейший путь позна комиться с этой  особенностью Delphi —  начать  новый проект. Выберите в меню  File пункт New Application (Новое приложение), и в конструкторе форм  будет создана  но вая форма, а в редакторе кода — каркас  (skeleton) исходного кода модуля новой фор мы, представленный в листинге 1.1.

Листинг 1.1. Исходный код пустой формы

unit Unit1;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs;

type

TForm1 = class(TForm)

private

{ Private declarations }

public{ Public declarations }

end;

var

Form1: TForm1;

implementation;

{$R *.dfm}

end.Обратите внимание, исходный код, ассоциированный с некоторой формой, всегда сохраняется в отдельном модуле. Каждая форма имеет собственный модуль, но не каждый модуль имеет собственную форму. (Тем, кто недостаточно хорошо знаком с языком Pascal и применяемой в нем концепцией модулей (unit), стоит обратиться за пояснениями к главе

2, “Язык  программирования Object Pascal”. В данной главе  содержится лишь  краткое описание языка Object Pascal, предназначенное для тех, кто перешел к Delphi после C++, Visual Basic, Java или другого языка программирования.)

Рассмотрим код этого модуля более подробно. Ниже  приведена его верхняя часть.

type

TForm1 = class(TForm);

private

{ Private declarations }

public

{ Public declarations }

end;

1

 

Этот  фрагмент показывает, что  собственно объект формы TForm1 происходит  от

объекта TForm. Здесь же в комментариях отмечены места,  предназначенные для объяв ления  собственных переменных — открытых (public) и закрытых (private). Не  бес покойтесь, если термины class, public и private пока не понятны до конца.  Более подроб ная  информация об этих  и других  понятиях языка  Object  Pascal  приведена в главе  2, “Язык программирования Object Pascal”.

Следующая строка особенно важна:

{$R *.dfm}

В Object  Pascal директива $R используется для загрузки  внешнего файла  ресурсов. Приведенная строка связывает файл  с расширением .dfm (расширение файлов форм Delphi —  Delphi  form) с исполняемым модулем.  Файл  .dfm содержит бинарное пред ставление формы, созданной с помощью конструктора форм. Символ  шаблона  “*” в данном  случае означает, что имя файла  должно  быть тем же, что и имя модуля. В дан ном случае имя модуля определено как Unit1, следовательно, его исходный код будет находиться в  файле Unit1.pas, а  значение *.dfm в  директиве —  соответствовать файлу Unit1.dfm.

1 Точнее является экземпляром класса TForm. — Прим. ред.НА ЗАМЕТКУ

В IDE Delphi существует возможность сохранения создаваемых файлов DFM в тексто- вом, а не двоичном виде. Именно этот режим теперь устанавливается по умолчанию. Но его можно отменить, для чего следует сбросить флажок параметра New forms as text (Новые формы как текст) во вкладке Preferences (Свойства) диалогового окна Environment Options. Хотя сохранение форм в текстовом формате менее эффективно с точки зрения размера создаваемых файлов, данный вариант следует считать более предпочтительным по следующим причинам. Во-первых, это позволяет очень легко вносить незначительные изменения в текст описания формы в окне любого текстового редактора. Во-вторых, если файл по какой-либо причине был поврежден, то восстано- вить содержимое текстового файла гораздо проще, чем двоичного. Не забывайте, что предыдущие версии Delphi работают только с двоичными файлами .DFM, поэтому этот режим следует отменить, если создаваемый проект будет обрабатываться и в других версиях Delphi.

Файл проекта приложения также  заслуживает внимания. Расширение файла  проек та —  .dpr (от  Delphi PRoject). Он  представляет собой  обычный файл  исходного кода Pascal, но с некоторыми расширениями. В этом файле содержится основная часть  про граммы  (с точки  зрения Object  Pascal). В отличие от других версий Pascal, которые, воз можно, знакомы читателю, основная работа программ Delphi  осуществляется в модулях, а не в главном  файле программы. Текст  файла  проекта можно  отобразить в окне редак тора, выбрав в меню  Project (Проект) пункт  View Source (Вид  исходного кода).  Вот текст файла нового проекта:

program Project1;

uses

Forms,

Unit1 in ‘Unit1.pas’ {Form1};

{$R *.RES}

begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run;

end.

При  добавлении новых  модулей и форм  в приложение они будут появляться в раз деле uses файла  проекта. Обратите внимание, что в разделе uses автоматически соз данного кода определение подключенной формы закомментировано ({Form1}). Если когда нибудь возникнут сомнения, в каком из модулей содержится та или иная  форма, то их можно  будет легко развеять, воспользовавшись окном  Project Manager, которое выводится на экран  с помощью  пункта Project Manager меню View.

НА ЗАМЕТКУ

Каждая форма связана с собственным модулем, кроме того, в программу могут входить модули, содержащие только код и не связанные с какой-либо формой. В Delphi работают, в основном, с модулями, а файл проекта .dpr изменяют достаточно редко.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии