Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tvp.doc
Скачиваний:
2
Добавлен:
08.11.2019
Размер:
1.12 Mб
Скачать

1.2. Этапы создания приложения

Процесс создания любого Windows-приложения на Delphi включает в себя следующие этапы.

1. Создание эскиза формы. На форме размещаются необходимые визуальные и невизуальные компоненты. Соответствующие форме модули .pas и .dfm Delphi генерирует самостоятельно. Для каждого размещенного компонента Delphi заносит в описание класса формы поля, содержащие указатели на объекты-экземпляры компонентов. Экземпляры компонентов будут созданы в памяти во время выполнения программы методом-конструктором формы.

Все компоненты в Delphi являются динамическими, т.е. представляют собой указатели. Однако для упрощения программирования Delphi «скрывает» этот факт, обозначая и указатели, и созданные экземпляры одинаково, без применения символа ^. (Заметим, что сказанное относится к объектам, объявленным с помощью служебного слова class. Delphi поддерживает и «старую» модель объектов, но они объявляются с помощью служебного слова object.)

По умолчанию имена экземпляров отличаются от названия класса цифрой: класс TButton - объекты Button1, Button2 и т.д. На палитре компонентов буква T в названии компонента опущена, хотя в объявлении класса компонента она обязательна.

2. Установка значений свойств размещенных компонентов, таких как размер, цвет, надписи, содержание и т.д.

Изменение свойств здесь происходит чаще всего с помощью инспектора объектов. Размеры и местоположение компонентов можно изменить мышью (методом перетаскивания), а удалить выделенный компонент - нажатием клавиши Delete. Все свойства можно также установить программно с помощью оператора присваивания.

Различайте свойства Name и Caption. Name - это идентификатор объекта в программе, а Caption - визуальный текст или заголовок на объекте. Поэтому далее, говоря «создайте кнопку Button1 с надписью Старт», мы будем подразумевать «разместите на форме компонент TButton и присвойте его свойству Name значение Button1 и свойству Caption значение Старт». Заметим, что в инспекторе объектов при вводе строк кавычки не указываются.

3. Указание реакций компонентов на действия пользователя или другие события в системе. Например, что программа должна делать, если пользователь нажал на кнопку с надписью Exit. Этот этап требует уже программирования.

Каждый компонент имеет перечень событий, на который он умеет реагировать. Компонент может отреагировать только тогда, когда в момент события он был выделен, находился в фокусе, т.е. когда событие произошло с этим компонентом. В Delphi термин «событие» трактуется двузначно. Первая трактовка (событие в среде Windows) соответствует названию. Кроме того, используется понятие события компонента. Событием компонента называется его свойство процедурного типа, которому надо присвоить адрес метода, вызываемого для обработки соответствующего события Windows. Назначение события компонента можно понять по его названию: OnClick (щелчок мышью), OnDblClick (двойной щелчок), OnKeyPress (нажатие клавиши) и т.д.

Чтобы сопоставить событию его метод-обработчик, необходимо два раза щелкнуть мышью в инспекторе объектов на странице Events по пустому полю рядом с названием события. При этом Delphi автоматически сгенерирует заготовку метода, куда программист должен записать необходимые, по его мнению, операторы.

Названия обработчиков событий строятся по определенным правилам: приставка On заменяется именем (значением свойства Name) компонента-«соучастника» события, с указанием класса текущей формы, например, для события OnClick щелчка по кнопке Button1 название будет иметь вид: procedure TForm1.Button1Click. Таким образом, в названии обработчика зафиксировано как название события, так и имя объекта, на котором оно произошло.

Для каждого компонента имеется т.н. событие по умолчанию. Например, для Button - это OnClick. Если дважды щелкнуть по объекту, Delphi создаст заготовку обработчика такого события.

Итак, весь код программы сосредоточен в обработчиках событий. Разумеется, эти обработчики могут вызывать и другие, независимые процедуры, в том числе, хранящиеся в других, традиционных модулях, а также «чужие» обработчики событий. По сравнению с большинством программ для MS-DOS, программы для Windows имеют иную, «параллельную» структуру. Не вдаваясь в детали, ее можно представить как цикл ожидания событий, внутри которого события анализируются и вызывается соответствующий обработчик:

case событие of

событие 1: Обработчик 1;

событие 2: Обработчик 2;

. . .

событие N: Обработчик N;

end;

Delphi скрывает от программиста эту структуру, оставляя ему лишь написание обработчиков. «Функциональность», т.е. алгоритм расчетов для прикладной задачи, также размещается в обработчике события. Выбор события, которое должно инициировать расчеты, остается за программистом. Например, это может быть двойной щелчок по форме, щелчок по кнопке «Старт» и т.п.

Изложенная методика известна под названием программирования, управляемого событиями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]