Страница Событий – вторая часть Инспектора объектов. На ней указаны все события, на которые может реагировать выбранный объект.
6) Одним из наиболее важных элементов среды Delphi является окно Редактора кода. Оно располагается ниже окна формы, обычно при первом взгляде на экран невидимо, т. к. его размер равен размеру формы и окно Редактора кода практически полностью перекрывается окном формы. Редактор кода является полноценным программным редактором. В заголовке окна редактора кода отображается имя текущего файла, с текстом которого производится работа (стандартное имя – Main.pas). В нижней части окна Редактора кода располагается строка состояния. В самой левой ее позиции отображается позиция курсора: номер строки и колонки.
7) Выше окна Инспектора объектов расположено окно Дерево объектов, которое отображает структуру компонентов приложения с точки зрения их принадлежности друг к другу.
Примечание: Страница событий связана с Редактором кода, если дважды щелкнуть мышью по правой стороне какого либо пункта, то соответствующий данному событию код будет автоматически помещен в окно Редактора кода.
Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе. Главная программа состоит из объявления списка используемых модулей и нескольких операторов, создающих объекты для необходимых форм и запускающих приложение на выполнение. Модульность очень важна для создания надежных и относительно легко модифицируемых и сопровождаемых приложений. Четкое соблюдение принципов модульности в сочетании с принципом скрытия информации позволяет производить модификации внутри любого модуля, не затрагивая при этом остальных модулей и главную программу.
Все объекты компонентов размещаются в объектах – формах. Для каждой формы, проектируемой в приложении, Delphi создает отдельный модуль. Именно в модулях и осуществляется программирование задачи. В обработчиках событий объектов размещаются описания алгоритмов, которые в основном сводятся к обработке информации, содержащейся в свойствах одних объектов, и задании по результатам этой обработки свойств других объектов.
Структура файла главной (головной) программы приложения Delphi.
В процессе проектирования Delphi автоматически создает код головной программы и отдельных модулей. В модули вводятся собственные коды, создавая обработчики различных событий. Но головную программу, как правило, не приходится модифицировать и даже просматривать ее текст (только в исключительных случаях).
Головной файл приложения Delphi имеет следующую структуру:
Program< имя >;
{объявление подключаемых модулей, а также локальных типов, классов, констант, переменных, описание локальных функций и переменных}
Begin
{операторы тела программы}
End.
Типичная головная программа приложения имеет следующий вид:
Program Project 1;
Uses
Forms,
Unit 1 in ‘Unit 1.pas’ {Form 1}, Unit 2 in ‘Unit 2.pas’ {Form 2};
{$R *. res}
{можно поместить описание констант, переменных, функций, процедур, доступных для использования только в пределах данного файла}
Begin
Application. Initialize;
Application. CreateForm (TForm 1, Form 1);
Application. CreateForm (TForm 2, Form 2);
Application. Run;
End.
1) Программа начинается с ключевого слова program, после которого указывается имя программы (оно совпадает с именем файла, в котором был сохранен проект). Это же имя присваивается исполняемому файлу приложения. По умолчанию используется имя Project1.
2) После заголовка в тексте программы располагается предложение:
Uses
Forms,
Unit 1 in ‘Unit 1.pas’ {Form 1}, Unit 2 in ‘Unit 2.pas’ {Form 2};
В этом предложении перечисляются модули, загружаемые программой. Первый модуль Forms является системным, а следующие – модулями разработанными самостоятельно форм. Данный пример подразумевает, что в проекте были созданы две формы с именами Form1, Form2 в модулях Unit1, Unit2. Заключенные в фигурные скобки название форм представляют собой комментарии.
3) Следующая строка текста – {$R *. res} – представляет собой директиву компилятора, связанную с использованием файлов ресурсов. Указанный файл должен быть файлом ресурсов Windows. По умолчанию используется расширение.RES для файлов ресурсов.
4) Первый оператор в теле программы Application. Initialize; – инициализирует приложение, следующий за ним оператор Application. CreateForm (TForm 1, Form 1); и Application. CreateForm (TForm 2, Form 2); – создают объекты формы1 и формы2, последний оператор Application. Run; – начинает выполнение приложения.
Общая структура файла модуля:
Unit< имя модуля >;
Interface // Открытый интерфейс модуля (могут помещаться списки подключаемых модулей, объявление типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей)
Implementation // Реализация модуля (могут помещаться списки подключаемых модулей, объявление типов, констант, переменных, функций и процедур, к которым не будет доступа из других модулей)
Initialization // (Необязательный раздел – операторы выполняются один раз при первом обращении к модулю)
Finalization// (Необязательный раздел – операторы выполняются при любом завершении работы модуля)
End.
Рассмотрим теперь текст модуля с пустой формой:
UnitUnit1;
Interface // Открытый интерфейс модуля
Uses {Списокподключаемыхмодулей}
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
Type{Объявление класса формы}
TForm1 = class (TForm)
Private // закрытый раздел класса
Public // открытый раздел класса
End;
Var
Form 1: TForm1;
Implementation // Реализациямодуля
{$R *. dfm}
End.
1) Модуль начинается с ключевого слова UNIT, после которого указывается имя модуля. Оно совпадает с именем файла, в котором был сохранен модуль. Текс модуля состоит из двух основных разделов: открытый интерфейс модуля и реализация модуля. Внешние модули не могут видеть типы, переменные, константы, функции и процедуры, размещенные в разделе реализации.
2) После предложения USES, содержащего список подключаемых модулей, располагается заготовка объявления класса формы. Имя класса формы – TForml. Класс содержит два раздела: открытый раздел класса (PUBLIC) – то, что объявлено в этом разделе доступно для других классов и модулей, закрытый раздел класса (PRIVATE) – то, что объявлено в этом разделе доступно в пределах данного модуля.
3) За объявлением класса формы следуют строки:
Var
Form 1: TForm1;
Таким образом, объявляется переменная Form1 класса TForm1.
4) Затем следует пустой раздел реализации INPLEMENTATION, в котором содержится только директива компилятора {$R *. dfm}, обеспечивающая компоновку файлов ресурсов форм.
Файлы проекта Delphi. Проект состоит из форм, модулей, установок параметров проекта, ресурсов и т.д. Вся эта информация размещается в файлах. Многие из этих файлов автоматически создаются Delphi. Ниже приведена характеристика основных файлов, используемых при создании выполняемого файла приложения.
Файлы проекта в Delphi, представлены в таблице:
Головной файл проекта (.drp) | Этот текстовый файл используется для хранения информации о формах и модулях. В нем содержатся операторы инициализации и запуска программы на выполнение. |
Файл модуля (.pas) | Каждой создаваемой форме соответствует текстовый файл модуля, используемый для хранения кода. Многие из функций и процедур Delphi хранятся в модулях. |
Файл формы (.dfm) | Это двоичный или текстовый файл, который создается для хранения информации о собственных формах. |
Файл параметров проекта (.dfo) | В этом файле хранятся установки параметров проекта. |
Файл ресурсов (.res) | Этот бинарный файл содержит используемую проектом пиктограмму и прочие ресурсы. |
Файл группы файлов (.bpg) | Этот файл создается, если работать с группой проектов. |
Файл пакета (.dpk) | Это двоичный файл пакета. |
Файлы резервных копий (.dp, df, pa) | Это соответственно файлы резервных копий для файлов проекта, формы и модуля. Можно соответственно изменить расширения этих файлов и таким образом вернуться к предыдущему не испорченному варианту. |
Исполняемый файл (.exe) | Это исполняемый файл приложения. Он является автономным, для которого ничего не требуется, если не использовать поддержку пакетов времени выполнения. |
Объектный файл модуля (.dcu) | Это откомпилированный объектный файл модуля (.pas), который компонуется в окончательный исполняемый файл. |
Некоторые встроенные функции и процедуры Delphi.
1) для строковых типов:
Типы строк | Максимальная длина | Используется для | Нулевой символ в конце |
Short String | 255 | Обратной совместимости | Нет |
Ansi String | 2^31 (2 Гб) | Символ ANSI | Есть |
String | Или 255, или 2 Гб | Символ ANSI или Unicode | Есть или нет |
Wide String | 2^30 (1 Гб) | Символ Unicode, в серверах COM и интерфейсах | Есть |
Родовым является тип String, который имеет разный смысл в зависимости от директивы компилятора. Если включена директива {$H+} (она включена по умолчанию), то String интерпретируется компилятором как тип AnsiString – длинная строка с нулевым символом в конце. Если же включена директива {$H-}, то String интерпретируется компилятором как тип ShortString – короткая строка без нулевого символа в конце. Если в объявлении типа после ключевого слова String следует число символов в квадратных скобках (например, String[4]), то независимо от директив компилятора, тип трактуется как строка без нулевого символа в конце с указанным числом символов. Стандартная функция LENGTH возвращает число символов в строке, переданной ей в качестве параметра. Процедура SetLength устанавливает длину строки.