Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Файлы среды Delphi.
Некоторые важные типы файлов, с которыми оперирует среда Delphi (версия 2006):
- *.bdsproj (Borland Developer Studio Project) – файл описания проекта, один на проект, текстовый xml-формат; *.dpr (Delphi project) – файл проекта, один на проект, текстовый формат; *.pas (pascal) – файл модуля, один на каждый модуль в проекте, текстовый формат; *.dfm (Delphi form) – файл формы, один на каждую форму в проекте, обязательно имеет связанный файл модуля (обратное неверно: модуль без файла формы – распространенное явление), текстовый формат; *.res (resource) – файл ресурсов (содержит пиктограммы, растровые изображения, курсоры, которые будут при сборке включены в результирующий файл), один на проект, двоичный формат; *.cfg (configuration) – файл конфигурации проекта, один на проект, текстовый формат; *.dcu (Delphi compiled unit) – скомпилированный модуль, один на каждый модуль, двоичный формат; *.exe (executable) – выполняемый файл, наиболее часто встречающийся результат сборки (build) проекта, один для проекта-приложения, двоичный формат;
При сохранении вновь созданных файлов в проекте, требуется указывать имена для файла описания проекта и файлов модулей, остальные связанные файлы именуются в соответствии с этими именами.
Структура файла проекта
Проект-приложение может быть двух видов: консольное приложение (использует текстовый интерфейс, наследуемый от интерпретатора командной строки) и оконное приложение (использует графический интерфейс, формы).
В консольных приложениях файл проекта содержит код, написанный программистом. Структура файла-проекта консольного приложения имеет следующий вид:
program <имя проекта>; // автоматически устанавливается при сохранении проекта
uses <имена модулей>; // имена используемых модулей через запятую
{разделы описания типов, констант, переменных, процедур и функций,
реализация объявленных процедур и функций}
begin
{основная часть программы}
end.
Для оконного приложения код файла проекта генерируется самой средой и имеет следующую структуру:
program <имя проекта>; // автоматически устанавливается при сохранении проекта uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
…
Unit<N> in 'Unit<N>.pas' {Form<N>};
// <имя модуля> in '<имя файла модуля>' [{<имя формы>}];
// если в проекте есть модули не связанные с формой,
// то они также присутствуют в этом списке,
// но {<имя формы>} в таком случае, естественно, отсутствует
{$R *.res} // директива компилятора для подключения к программе файла ресурсов
begin // начало основного выполняемого кода программы
Application. Initialize; // инициализация приложения
// создание форм приложения:
Application. CreateForm(TForm1, Form1); // главная форма приложения
Application. CreateForm(TForm2, Form2);
…
Application. CreateForm(TForm<N>, Form<N>);
// некоторые формы в этом перечислении могут отсутствовать,
// в таком случае они не будут автоматически создаваться при запуске приложения
*****n; // переход в состояние получения сообщений ОС
end.
В прямом редактировании файла проекта в случае оконного приложения нет необходимости. Все изменения, связанные с формами (такие как установка главной формы и включение/исключение формы из списка на автоматическое создание), можно вносить посредством настроек Project->Options…->Forms. Добавление и удаление модулей в проекте через Project->Add To Project… и Project->Remove From Project…
Структура файла модуля
1. Старая структура файла модуля (использовалась в Borland Pascal, Delphi 1, но поддерживается и более поздними версиями, обратно совместима с ними):
unit <имя модуля>;// Заголовок модуля
{Уникальное имя, с помощью которого модуль будет подключаться к другим
программам или модулям, должно совпадать с именем файла}
interface // Раздел объявлений, обязательно присутствует
uses <имена модулей>; {список модулей, используемых в интерфейсной части
данного модуля через запятую}
{ разделы описания типов, констант, переменных, процедур и функций, которые будут видны в модулях, использующих данный }
implementation // Раздел реализации, обязательно присутствует
uses <имена модулей>; { список модулей, используемых в реализационной части
данного модуля через запятую }
{ разделы описания типов, констант, переменных, процедур и функций, которые будут видны только в данном модуле, а также реализация (объявленных как в интерфейсной, так и в реализационной части) подпрограмм и методов классов }
begin // Раздел инициализации модуля, необязательный
{ операторы, выполняемые до начала работы основной программы }
end. // слово end. обязательно присутствует, отмечая конец модуля
2. Новая структура файла модуля (начиная с Delphi 2):
unit <имя модуля>;
interface
…
implementation
…
initialization // Раздел инициализации модуля, необязательный
{ операторы, выполняемые до начала работы основной программы }
finalization // Раздел завершающих действий, необязательный
{ операторы, выполняемые непосредственно при завершении работы программы
раздел может присутствовать только в модуле, где есть раздел initialization }
end. // слово end. обязательно присутствует, отмечая конец модуля
Структура файла модуля, содержащего форму
Файл модуля только что созданной формы имеет следующий вид:
unit Unit<N>; // имя модуля
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs; { необходимый для работы формы набор модулей из VCL (может различаться для версий Delphi), при добавлении компонентов на форму он пополняется }
type
TForm<N> = class(TForm) // описание класса формы
{ сюда автоматически в виде полей добавляются компоненты,
размещаемые на форму и описания методов-обработчиков событий }
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form<N>: TForm<N>; { объявление объекта формы (код инициализации форм находится в файле проекта, см. выше) }
implementation
{$R *.dfm} // директива включения в исполняемый файл настроек формы
{ здесь располагается реализация методов-обработчиков событий }
end.
Так же как и в файл проекта, в файл модуля формы среда Delphi вносит изменения, соответствующие действиям пользователя, совершенным в визуальном режиме. Однако если файл проекта вручную редактировать необходимости нет, то в файл модуля зачастую приходится вносить ручные изменения, выходящие за рамки написания кода методов-обработчиков событий.
Описание типов, констант, переменных, подпрограмм
Раздел описаний файла проекта и разделы интерфейса и реализации файла модуля могут содержать произвольное количество произвольно чередующихся блоков описания:
Типов, начинающийся с ключевого слова type Переменных, начинающийся с ключевого слова var Констант, начинающийся с ключевого слова const Ресурсных строк, начинающийся с ключевого слова resourcestring (ресурсная строка, фактически то же, что константа типа String, различие лишь в том, что первые при компиляции попадают в файл ресурсов, а вторые непосредственно в откомпилированный модуль) Процедур и функций (без специально выделяемого начала блока)Ex.
Чередование блоков описания, разделение описания и реализации для подпрограмм и методов (без содержательной интерпретации):
unit Unit1;
interface
type
TMyClass = class(TObject)
procedure MyMethod;
end;
var
a, b: Integer;
const
SomeConstant: Integer = 10;
procedure SomeProcedure;
function SomeFunction(k: Integer): Double;
var
c, d: Double;
f: String;
implementation
var
SomeInnerVariable: TMyClass;
resourcestring
aMessage = 'Message';
procedure SomeProcedure;
begin
Writeln(aMessage);
end;
const
Pi = 3.14;
function SomeFunction(k: Integer): Double;
begin
Result := k * Pi;
end;
const
e = 2.71;
{ TMyClass }
procedure TMyClass. MyMethod;
begin
Writeln(aMessage);
end;
end.


