Структура проекта Delphi
Проект – это разрабатываемое на языке программирования приложение.
Проект включает в себя не только форму с размещенными на ней компонентами, но и программные модули событийных процедур, которые описывают поведение объектов и взаимодействие объектов между собой.
Проект Delphi представляет собой набор программных единиц – модулей, которые хранятся в отдельных файлах.
Примечание. В Delphi существуют файл проекта и файлы проекта. Это разные вещи. Файл проекта – это главный файл проекта (головная программа), имеющий расширение.Dpr, файлы проекта – это набор всех файлов приложения.
Файл с расширением.Dpr (главный файл проекта) содержит основную информацию о проекте. По умолчанию этот файл называется Project1.dpr.
Файл с расширением.Pas – это файл программного модуля. В нем хранится текст программы на языке Object Pascal. Для каждой формы, входящей в состав проекта, создается отдельный программный модуль. По умолчанию эти файлы называются Unit1.pas,. Unit2.pas и т.д.
|
|
Файл с расширением.Dfm содержит информацию о внешнем виде формы. Этих файлов столько, сколько форм в проекте. Информация в них закодирована.
Файл с расширением.Res – это файл ресурсов проекта, в котором хранится информация о картинках, курсорах, иконках и т.п.
Файл с расширением.Exe – исполняемый файл приложения.
Файлы с расширениями.~Df,.~Pa – файлы со старыми версиями приложения.
У файлов с расширениями.Pas,.Dfm,.~Df,.~Pa всегда одинаковое имя (по умолчанию Unit1).
У файлов с расширениями.Dpr,.Exe,.Res – также одинаковое имя (по умолчанию Project1).
Примечание.
· При сохранении нового проекта приложения рекомендуется создавать отдельную папку.
· Копирование файлов проекта на дискету или в другую папку выполняется только с помощью файлового менеджера Windows (например, проводника). В среде Delphi это делать не следует.
Программа создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе. Головная программа (сам проект) состоит из объявления списка используемых модулей и операторов, создающих объекты для необходимых форм и запускающих приложение на выполнение.
Все объекты компонентов размещаются в объектах – формах. Форма обеспечивает создание графического интерфейса разрабатываемого приложения и представляет собой окно, на котором размещаются необходимые компоненты. Для каждой формы, проектируемой в приложении, Delphi автоматически создает отдельный модуль, в который пользователь может ввести собственный код, создавая обработчики различных событий. Именно в модулях и осуществляется программирование задачи.
Существует определенный формат программного кода, задающий установку свойства и использование метода:
|
|
объект.свойство:= значение;
объект.метод([Параметр [...]]);
где Объект - имя настраиваемого объекта;
Свойство - характеристика, которую нужно изменить;
Значение - новая установка свойства;
Метод - команда, которая используется для изменения объекта;
Параметр - аргумент, используемый методом.
Главное преимущество работы с объектами в том, что объекты обеспечивают программный код, который уже не требуется писать разработчику. Ему просто нужно установить свойства объекта и вызвать методы объекта, чтобы побудить объект выполнить требуемые функции.
2.3. Структура главного файла проекта *.dpr
Код главного файла проекта (головной программы) создается Delphi автоматически и, как правило, не требует модификации. Пример структуры такой головной программы приведен ниже.
program Project1; | Программа начинается с ключевого слова program, после которого указывается имя программы. Оно совпадает с именем файла, в котором сохраняется проект. Это же имя присваивается исполняемому файлу приложения. По умолчанию используется имя Project1. |
uses Forms, Unit1 in 'Unit1.pas' {Form1}; | В разделе uses перечисляются все модули, загружаемые программой. Первый модуль Forms является системным (в нем содержатся характеристики форм приложения), а следующие – модулями разработанных пользователем форм. Данный проект состоит из одной формы с именем Form1, которая содержится в модуле Unit1. После ключевого слова in указывается имя файла, в котором содержится модуль Unit1. |
{$R *.res} | Эта строка представляет собой директиву компилятора, которая связывает с исполняемым модулем файлы ресурсов Windows. Символ * означает, что имя файла ресурса совпадает с именем файла проекта. |
begin Application.Initialize; Application.CreateForm (TForm1, Form1); Application.Run; end. | Объект Application создается автоматически. Инициализация приложения начинается с вызова метода Initialize. Метод CreateForm загружает в оперативную память объекты главной формы приложения (остальные формы могут загружаться динамически в процессе работы приложения). Метод Run начинает выполнять приложение. |
2.4. Структура модуля приложения Delphi *.pas
Текст программы, описывающей форму, хранится в модуле с расширением. Pas, его название должно совпадать с именем файла, по умолчанию Unit1.pas. Модуль состоит из разделов: интерфейса и реализации.
Структура модуля приложения Delphi:
Unit Unitl; | Название модуля (это название используется в предложении Uses при подключении модуля к приложению) |
Interface … | Раздел интерфейса |
Implementation … | Раздел реализации (исполняемая часть) |
Раздел интерфейса начинается ключевым словом Interface, он сообщает компилятору, какая часть модуля является доступной для других модулей программы.
Здесь могут размещаться списки подключаемых модулей, объявления типов, констант, переменных, заголовки функций и процедур, к которым будет доступ из других модулей, в том числе и автоматически созданные Delphi объявления класса Form1. Иными словами, в этом разделе описывается область видимости переменных и подпрограмм модуля.
Раздел реализации начинается ключевым словом Implementation и содержит программный код модуля, объявления локальных переменных, процедур и функций, поддерживающих работу формы.
Начинается раздел директивой {$R *.dfm}, указывающей файл, описывающий каждый компонент формы, включая значения всех свойств.
Замечание. Просмотреть файл *.dfm можно с помощью команды
View as Text контекстного меню в конструкторе форм.
Далее в разделе реализации могут помещаться предложения: Uses, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Здесь же располагаются все тексты процедур и функций, объявленных в разделе Interface. Заголовки процедур и функций могут полностью совпадать с заголовками из интерфейсной части или могут отличаться от них полным отсутствием параметров. Если в этой части набран текст функции или процедуры, не представленной в Interface, то данная функция или процедура будет локальной.
|
|