Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Емельянов.doc
Скачиваний:
12
Добавлен:
03.11.2018
Размер:
3.25 Mб
Скачать

Встроенный отладчик

Интегрированная среда разработки включает встроенный отладчик при­ложений, в значительной мере облегчающий поиск и устранение ошибок. Средства отладчика доступны через команды пункта меню View-Debug Windows. Простейшим вариантом отладки является использование клавиши пошагового выполнения программы F7 и просмотр значений переменных в окне Watch (пункты меню Run: Trace Info и Add Watch). Если требуется отладка начиная с конкретного оператора, то устанавливают для него Break­point (в пункте Run). До точки останова можно пройти, используя F4, а далее, применяя, например, F7.

ИСПОЛЬЗОВАНИЕ ВСТРОЕННЫХ КЛАССОВ

На первых порах разработчика программ интересуют не все классы, а компоненты. Компоненты - неотъемлемая часть прикладной программы. Они формируют основу интерфейса пользователя. Компоненты для разра­ботки интерфейса и системные компоненты соответственно называются ви­зуальными и невизуальными. Невизуальные компоненты используются для реализации логической части приложения и функциональных возможностей системной составляющей (см. рис. 1). Визуальные компоненты входят в палитру компонентов и позволяют строить пользовательский интерфейс приложения.

ИЕРАРХИЯ КЛАССОВ

Delphi имеет большое количество встроенных классов, которые образу­ют иерархическое дерево (рис. 8, слева).

14

Рис.8

Каждый класс обязательно является наследником другого класса, за ис­ключением TObject. TObject является предком для всех классов. Предком для всех компонентов является класс TComponent. Иерархию и отдельные элементы классов (см. рис. 8, справа) можно увидеть с помощью Browse Ob­jects, окно которого вызывается из меню: View-Browse.

Каждый класс обладает набором своих методов, свойств и полей, да еще наследует массу подобных элементов. Поэтому ориентироваться во всех возможностях класса очень трудно. Помогает то обстоятельство, что многие свойства и методы имеют много общего и называются одинаково. Базовые встроенные классы следует рассматривать как некую библиотеку функций и возможностей, которые к тому же можно наследовать при разработке собст­венных классов. Рассмотрим кратко назначение некоторых основных компо­нентов в иерархии классов.

Класс TObject реализует функции, которые обязательно будут выпол­няться в процессе построения любого объекта. Следует отметить, что круг общих для всех классов операций невелик. В первую очередь - это создание экземпляра класса и его уничтожение. Эти операции, например, для разме­щенных на форме объектов выполняются автоматически. Рассмотрим еще одну функцию данного класса. Каждый объект должен содержать некоторую информацию о себе, которая используется приложением и средой разработ­ки. Класс TObject содержит ряд методов, обеспечивающих представление этой информации в потомках.

Основное назначение класса TPersistent (в переводе означает: устойчи­вый, постоянный) заключается в возможности выполнения операции копи­рования содержимого одного объекта (Source) в другой (Self). Self- специ­альная переменная в объекте-приемнике. При этом используется метод As­sign - простым присваиванием содержимое не копируется, а замещается с уничтожением внутренней структуры объекта-приемника.

Класс TComponent используется в качестве основы для создания неви­зуальных компонентов и реализует основные механизмы, которые обеспечи­вают функционирование любого компонента.

15

Вслед за классом TComponent в иерархии классов (см. рис. 8) располага­ется группа из трех классов, которые обеспечивают создание различных ви­зуальных компонентов. Визуальные компоненты - это разнообразные стан­дартные для Windows и специальные элементы управления.

Понятно, что визуальные компоненты должны уметь отобразить себя на экране монитора и реагировать на целый ряд новых событий - реакция на мышь, клавиатуру, движение курсора и т.д. Для этого в них встроен специ­альный механизм, обеспечивающий взаимодействие компонентов с графи­ческой подсистемой операционной среды (GUI).

Базовым для всех визуальных компонентов является класс TControl, ко­торый инкапсулирует механизмы отображения компонентов на экране. В этом классе вводится множество новых свойств и методов. Для определения местоположения и размеров визуального компонента введены два свойства, с помощью которых задаются координаты левого верхнего угла: Тор (верх­ний) и Left (левый), а также два свойства, задающие размеры клиентской области: Height (высота) и Width (ширина). Значения свойств задаются в пикселах. Для определения местоположения компонента используется сис­тема координат рабочей области владельца (Owner - владелец) данного компонента, например формы. Имеется и ряд других свойств, определенных в компоненте TControl.

Далее в иерархии классов стоит очень важный визуальный компонент TWinControI, который обеспечивает использование в Delphi оконных эле­ментов управления. Главное отличие оконного элемента управления от дру­гих элементов - наличие дескриптора окна hWnd. Дескриптор окна - это специальный идентификатор, присваиваемый операционной системой всем объектам, которые должны обладать свойствами окна. Если элемент управ­ления имеет дескриптор окна, то он должен уметь выполнять следующие операции:

  • получать и передавать фокус управления во время выполнения прило­ жения;

  • воспринимать управляющие воздействия от мыши и клавиатуры;

  • уметь размещать на себе другие элементы управления.

ИСПОЛЬЗОВАНИЕ ПАЛИТРЫ КОМПОНЕНТОВ И ИНСПЕКТОРА ОБЪЕКТОВ

Палитра компонентов - это средство, которое используется для добав­ления компонентов на форму (рис. 9).

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

Инспектор объектов - важнейший инстру­мент для работы с размещенными на форме ком­понентами (рис.10). Вначале выбирают на форме интерфейсный элемент, требующий редактирова­ния. Далее с помощью страницы свойств (Proper­ties) изменяют его внешний вид и некоторые дос­тупные внутренние характеристики или с помо­щью страницы событий (Events) выбирают нуж­ные свойства.

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