- •Windows -приложение
- •Среда программирования
- •Встроенный отладчик
- •Использование графики
- •Графические данные и палитра
- •Сохранение проекта
- •Структура приложения
- •Структура модуля
- •Простые типы
- •Символьные типы
- •Логические типы
- •Тип перечень
- •Составной оператор
- •Оператор if
- •Оператор цикла for
- •Оператор цикла while
- •Оператор цикла repeat
- •Пример приложения 6
- •Пример приложения 7
- •Статические массивы
- •Динамические массивы
- •Оператор with
- •Идентичность типов
- •Совместимость типов
- •Преобразование типов
- •Операторы обработки исключительных ситуаций
- •Рекурсия
- •Процедура exit
- •Директивы подпрограммы
- •Класс как объектный тип
- •Наследование
- •Операции is и as
- •Типы ссылки на класс
- •Типизированные файлы
- •Файлы без типа
- •Пример приложения 17
- •Компонент tmainmenii
- •Двунаправленные списки
- •Потоки данных
- •Пример приложения 22
- •Интерфейс drag and drop
- •Пример приложения 24
- •С файлами
- •Пример приложения 26
- •Программные потоки
- •Приоритеты потоков
- •Класс tthread
- •Проблемы синхронизации потоков
Встроенный отладчик
Интегрированная среда разработки включает встроенный отладчик приложений, в значительной мере облегчающий поиск и устранение ошибок. Средства отладчика доступны через команды пункта меню View-Debug Windows. Простейшим вариантом отладки является использование клавиши пошагового выполнения программы F7 и просмотр значений переменных в окне Watch (пункты меню Run: Trace Info и Add Watch). Если требуется отладка начиная с конкретного оператора, то устанавливают для него Breakpoint (в пункте Run). До точки останова можно пройти, используя F4, а далее, применяя, например, F7.
ИСПОЛЬЗОВАНИЕ ВСТРОЕННЫХ КЛАССОВ
На первых порах разработчика программ интересуют не все классы, а компоненты. Компоненты - неотъемлемая часть прикладной программы. Они формируют основу интерфейса пользователя. Компоненты для разработки интерфейса и системные компоненты соответственно называются визуальными и невизуальными. Невизуальные компоненты используются для реализации логической части приложения и функциональных возможностей системной составляющей (см. рис. 1). Визуальные компоненты входят в палитру компонентов и позволяют строить пользовательский интерфейс приложения.
ИЕРАРХИЯ КЛАССОВ
Delphi имеет большое количество встроенных классов, которые образуют иерархическое дерево (рис. 8, слева).
14

Р
ис.8
Каждый класс обязательно является наследником другого класса, за исключением TObject. TObject является предком для всех классов. Предком для всех компонентов является класс TComponent. Иерархию и отдельные элементы классов (см. рис. 8, справа) можно увидеть с помощью Browse Objects, окно которого вызывается из меню: View-Browse.
Каждый класс обладает набором своих методов, свойств и полей, да еще наследует массу подобных элементов. Поэтому ориентироваться во всех возможностях класса очень трудно. Помогает то обстоятельство, что многие свойства и методы имеют много общего и называются одинаково. Базовые встроенные классы следует рассматривать как некую библиотеку функций и возможностей, которые к тому же можно наследовать при разработке собственных классов. Рассмотрим кратко назначение некоторых основных компонентов в иерархии классов.
Класс TObject реализует функции, которые обязательно будут выполняться в процессе построения любого объекта. Следует отметить, что круг общих для всех классов операций невелик. В первую очередь - это создание экземпляра класса и его уничтожение. Эти операции, например, для размещенных на форме объектов выполняются автоматически. Рассмотрим еще одну функцию данного класса. Каждый объект должен содержать некоторую информацию о себе, которая используется приложением и средой разработки. Класс TObject содержит ряд методов, обеспечивающих представление этой информации в потомках.
Основное назначение класса TPersistent (в переводе означает: устойчивый, постоянный) заключается в возможности выполнения операции копирования содержимого одного объекта (Source) в другой (Self). Self- специальная переменная в объекте-приемнике. При этом используется метод Assign - простым присваиванием содержимое не копируется, а замещается с уничтожением внутренней структуры объекта-приемника.
Класс TComponent используется в качестве основы для создания невизуальных компонентов и реализует основные механизмы, которые обеспечивают функционирование любого компонента.
15
Вслед за классом TComponent в иерархии классов (см. рис. 8) располагается группа из трех классов, которые обеспечивают создание различных визуальных компонентов. Визуальные компоненты - это разнообразные стандартные для Windows и специальные элементы управления.
Понятно, что визуальные компоненты должны уметь отобразить себя на экране монитора и реагировать на целый ряд новых событий - реакция на мышь, клавиатуру, движение курсора и т.д. Для этого в них встроен специальный механизм, обеспечивающий взаимодействие компонентов с графической подсистемой операционной среды (GUI).
Базовым для всех визуальных компонентов является класс TControl, который инкапсулирует механизмы отображения компонентов на экране. В этом классе вводится множество новых свойств и методов. Для определения местоположения и размеров визуального компонента введены два свойства, с помощью которых задаются координаты левого верхнего угла: Тор (верхний) и Left (левый), а также два свойства, задающие размеры клиентской области: Height (высота) и Width (ширина). Значения свойств задаются в пикселах. Для определения местоположения компонента используется система координат рабочей области владельца (Owner - владелец) данного компонента, например формы. Имеется и ряд других свойств, определенных в компоненте TControl.
Далее в иерархии классов стоит очень важный визуальный компонент TWinControI, который обеспечивает использование в Delphi оконных элементов управления. Главное отличие оконного элемента управления от других элементов - наличие дескриптора окна hWnd. Дескриптор окна - это специальный идентификатор, присваиваемый операционной системой всем объектам, которые должны обладать свойствами окна. Если элемент управления имеет дескриптор окна, то он должен уметь выполнять следующие операции:
-
получать и передавать фокус управления во время выполнения прило жения;
-
воспринимать управляющие воздействия от мыши и клавиатуры;
-
уметь размещать на себе другие элементы управления.
ИСПОЛЬЗОВАНИЕ ПАЛИТРЫ КОМПОНЕНТОВ И ИНСПЕКТОРА ОБЪЕКТОВ
Палитра компонентов - это средство, которое используется для добавления компонентов на форму (рис. 9).
![]()
Размещаются компоненты с помощью мыши - вначале щелчок левой кнопкой на нужном компоненте палитры, а затем - на форме. Палитра компонентов группирует компоненты в соответствии с выполняемыми функциями и отображает каждую из этих групп на отдельной странице.

Инспектор объектов - важнейший инструмент для работы с размещенными на форме компонентами (рис.10). Вначале выбирают на форме интерфейсный элемент, требующий редактирования. Далее с помощью страницы свойств (Properties) изменяют его внешний вид и некоторые доступные внутренние характеристики или с помощью страницы событий (Events) выбирают нужные свойства.
![]()
Каждому компоненту и каждой форме соответствует свой определенный список событий, на которые они могут реагировать. Реакция объекта на какое-либо событие определяется специальной процедурой обработки события, которую программист должен разработать самостоятельно. Перед разработкой данной процедуры необходимо, чтобы среда Delphi сгенерировала заготовку для выбранного события. Для этого с помощью мыши на странице Events инспектора объектов выбирают нужное событие. После двойного щелчка в поле справа от названия (см. рис. 10) появляется программная заготовка будущего обработчика выбранного события. Далее с помощью редактора добавляется требуемый код.
