OP / Файлы_проекта_Delphi
.docФайлы проекта
Типичное приложение, разработанное в Delphi, состоит из файлов разных типов, каждый из которых имеет своё расширение имени.
-
.dpr. Файл проекта Delphi. Delphi создаёт файл проекта автоматически при первом сохранении нового приложения. Как правило, не возникает необходимости модифицировать файл проекта. Не следует удалять файл .dpr.
-
.pas. Файлы модулей. Содержат исходный код программ на языке Delphi. Как правило, приложение Delphi имеет по одному файлу .pas для модуля каждой экранной формы, хотя можно включать в эти файлы собственный код, не связанный с экранными формами. Не следует удалять файл .pas.
-
.dfm. Файлы описания формы. Содержат информацию о свойствах экранной формы и включённых в неё объектов, а также о событиях и процедурах их обработки. Не следует удалять файл .dfm.
-
.dcu. Файлы, содержащие компилированный код, полученный на основе информации из соответствующих файлов .pas и .dfm.
-
.res. Файл ресурсов. Содержит двоичные ресурсы (пиктограммы и прочие растровые изображения), используемые в проекте.
-
.exe. Выполняемый файл, полученный на основе файлов .dcu в результате компоновки.
-
.dof. Файл опций проекта. Содержит настройки проекта, модифицированные в диалоговом окне, которое открывается по команде Project/Options.
-
.dll. Файлы библиотек. Содержат код для библиотеки динамической компоновки.
-
.~*. Файлы-копии модифицированных и сохранённых файлов. Например, Main.~dp содержит предыдущую версию сохранения файла Main.dpr.
Структура файла проекта
Любая программа в Delphi состоит из файла проекта (.dpr) и одного или нескольких модулей (.pas). Файл проекта автоматически создаётся Delphi и предназначен для обработки компилятором. Для просмотра файла проекта используется пункт меню Project / View Source. Delphi покажет окно кода с закладкой Project1, содержащее следующий текст:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Ключевое слово program со следующим за ним именем программы и точкой с запятой образуют заголовок программы. За заголовком следует раздел описаний, в котором после ключевого слова uses указывается, что помимо файла проекта в программе должны использоваться модули Forms и Unit1. Модуль Forms является стандартным (то есть уже известным Delphi), а модуль Unit1 - новым, ранее не известным, поэтому Delphi указывает также имя файла с текстом модуля (in 'Unit1.pas') и имя связанного с модулем файла описания формы {Form1}.
Строка {$R *.RES} - директива компилятора, указывающая на необходимость подключения к программе файла ресурсов.
Тело программы начинается с ключевого слова begin и заканчивается ключевым словом end с точкой. Тело состоит из нескольких операторов языка Delphi. Каждый из них реализует обращение к одному из методов объекта Application. В объекте Application собраны данные и подпрограммы, необходимые для нормального функционирования Windows-программы в целом. Delphi автоматически создаёт объект-программу Application для каждого нового проекта.
С помощью метода Initialize программа осуществляет ряд вспомогательных действий, необходимых для работы под управлением операционной системы Windows.
Метод CreateForm создаёт и показывает на экране окно главной формы.
Метод Run реализует бесконечный цикл получения и обработки поступающих от Windows сообщений о действиях пользователя. Когда пользователь щёлкнет по кнопке Close, Windows передаст программе специальное сообщение, которое заставит программу прекратить работу и освободить назначенные ей системные ресурсы.
Структура модуля
Модули – это программные единицы, предназначенные для размещения программного кода. Реализуют поведенческую сторону приложения.
Далее представлен исходный код модуля, который генерирует Delphi.
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.
Имя файла должно совпадать с именем модуля.
В интерфейсной части (начинается с ключевого слова interface) содержатся объявления всех глобальных объектов модуля (типов, констант, переменных и подпрограмм), которые должны стать доступными основной программе и/или другим модулям.
В разделе uses указывается список подключенных модулей.
В разделе type описан класс TForm1, порождённый от стандартного класса TForm - базового класса Delphi, используемого для формирования программных объектов типа экранная форма. Членами класса могут быть как данные, так и методы их обработки. Некоторые члены класса могут иметь статус закрытых (private) или общедоступных (public). Закрытые члены доступны только внутри модуля класса, а к общедоступным можно обращаться и из других модулей.
В разделе var описана переменная Form1 как объект класса TForm1, для которого выделяется место в памяти.
Исполняемая часть начинается с ключевого слова implementation. Строка {$R *.DFM} - директива компилятора, указывающая на необходимость подключения к программе файла описания формы с именем, совпадающим с именем модуля. Исполняемая часть содержит описания подпрограмм, объявленных в интерфейсной части. Детали реализации объявленных процедур, функций, классов скрыты в секции реализации и недоступны другим модулям.