Год выпуска: 2008 1040 страниц "Золотая книга Delphi" представляет собой лучшее руководство по изучению Delphi от А до Я. Отличается доступностью и в тоже время точностью и системностью изложения. По мере прочтения книги вы получаете ясную целостную картину языка Delphi, полное представление о его механизмах, возможностях и методах. Охвачен наиболее полный спектр тем: от самых азов языка и создания простейших проектов до программирования баз данных. В данной книге теория и практика языка Delphi увязаны с общими моментами программирования, что позволяет достичь наилучшего эффекта как в изучении Delphi, так и в качестве самого программирования. Это выгодно отличает данную книгу от других, представляющих собой либо справочник с примерами, либо сборник примеров с отрывочными теоретическими отступлениями. В то же время выверенность описания элементов языка и удобство структуры позволяют использовать книгу в качестве справочника, а обилие и разноплановость примеров – в качестве наглядного практического пособия. Практически каждая строка в примерах прокомментирована. В итоге вы начинаете понимать Delphi, чувствовать внутренний мир Delphi. Книга написана доступным и понятным языком известным автором (книга «Основы Delphi. Профессиональный подход» и др.), много лет являющимся ведущим программистом и консультантом по программированию на Delphi. Безусловно, лучший выбор для всех, кто хочет освоить Delphi и научиться грамотно программировать на данном языке. К книге прилагается CD со всеми листингами, вспомогательными материалами и дистрибутивом Turbo Delphi.
СОДЕРЖАНИЕ
ЧАСТЬ I. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
ГЛАВА 1 . СТРУКТУРА ПРОГРАММЫ ........................................................... 28
1.1. ОСНОВНЫЕ ЭЛЕМЕНТЫ ПРОГРАММЫ И АЛФАВИТ ЯЗЫКА ............................................ 29
1.2. ОСНОВНАЯ ЧАСТЬ ПРОГРАММЫ ............................................................................... 30
1.3. МОДУЛИ .............................................................................................................. 32
1.4. ПРОЕКТ ................................................................................................................ 35
ГЛАВА 2. СТРУКТУРЫ ДАННЫХ В DELPHI....................................................36
2.1.СТАНДАРТНЫЕТИПЫ ДАННЫХ.................................................................................37
2.1.1. Числовые типы...........................................................................37
2.1.2. Строковые типы данных..............................................................39
2.1.3. Другие стандартные типы данных...............................................40
2.2. ОПИСАНИЕ СТРУКТУР ДАННЫХ................................................................................40
2.2.1. Описание и использование переменных.....................................40
Описание переменных...............................................................40
Оператор присваивания............................................................41
2.2.2 Выражения в Object Pascal...........................................................42
2.2.3. Описание констант.....................................................................45
2.2.4. Описание нестандартных типов данных......................................46
2.3. СЛОЖНЫЕТИПЫ ДАННЫХ......................................................................................47
2.3.1. Интервальные типы данных........................................................47
2.3.2. Перечислимые типы данных.......................................................48
2.3.3. Множества..................................................................................49
2.3.4. Записи........................................................................................51
2.3.5. Массивы.....................................................................................52
2.4. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ......................................................................55
2.4.1. Нетипизированные указатели.....................................................56
2.4.2. Типизированные указатели.........................................................56
2.4.3. Динамические массивы..............................................................58
2.5. ВАРИАНТНЫЕ СТРУКТУРЫ ДАННЫХ..........................................................................60
2.5.1. Общие понятия...........................................................................60
2.5.2. Обращение к вариантным переменным......................................61
2.5.3. Определение типа вариантных переменных...............................61
2.5.4. Автоматическое приведение типов.............................................64
2.5.5. Вариантные массивы..................................................................66
2.5.6. Разрушение вариантных переменных.........................................68
2.6. КЛАССИФИКАЦИЯ ТИПОВ ДАННЫХ..........................................................................69
2.6.1. Стандартные и нестандартные типы данных...............................69
2.6.2. Зависимость от платформы........................................................69
2.6.3. Качественная характеристика информации................................70
ГЛАВАЗ. СТРУКТУРНЫЕ ОПЕРАТОРЫ .......................................................73
3.1. ОРГАНИЗАЦИЯ ВЕТВЛЕНИЯ.....................................................................................74
3.1.1. Условный оператор If..Then..Else................................................74
3.1.2. Условный оператор множественного выбора Case.....................75
3.2. СО СТАВНОЙ ОПЕРАТОР...........................................................................................77
3.3. ЗАЦИКЛИВАНИЕ....................................................................................................78
3.3.1. Оператор зацикливания For........................................................78
Стандартный инкрементный вариант.........................................78
Цикл с обратным отсчетом.........................................................79
3.3.2. Условные операторы зацикливания............................................80
Оператор зацикливания с предусловием While..do....................80
Условный оператор зацикливания с постусловием Repeat. Until 81
3.3.3. Прерывание зацикленного фрагмента........................................82
ГЛАВА 4. ПОДПРОГРАММЫ.....................................................................зз
4.1. ВИДЫ ПОДПРОГРАММ: ПРОЦЕДУРЫ И ФУНКЦИИ.......................................................84
4.2. ПОДПРОГРАММЫ С ПАРАМЕТРАМИ..........................................................................86
4.2.1. Описание параметров................................................................86
4.2.2. Механизмы передачи параметров в подпрограммы....................87
Передача параметров по значению............................................87
Передача параметров по ссылке. Параметры-переменные.......88
4.2.3. Частные случаи передачи параметров подпрограммам..............89
Параметры по умолчанию..........................................................89
Передача по значению параметров ссылочных типов данных .... 91
Параметры-константы...............................................................92
Параметры для заполнения.......................................................93
Параметры без указания типа....................................................94
4.3. ПЕРЕГРУЖАЕМЫЕ ПОДПРОГРАММЫ.........................................................................96
4.4. ДОСРОЧНЫЙ ВЫХОД ИЗ ПОДПРОГРАММЫ................................................................97
4.5. ПРОЦЕДУРНЫЕ ТИПЫ ДАННЫХ................................................................................98
4.6. ОБЛАСТЬ ВИДИМОСТИ ПОДПРОГРАММ. ФОРВАРДНЫЕ ОПИСАНИЯ...............................99
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ЧАСТИ I .....................................................103
ЧАСТЬ II.ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В DELPHI
ГЛАВА 5.ОСНОВНЫЕ МЕХАНИЗМЫ и ПРИЕМЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ.....................................................113
5.1. ИНКАПСУЛЯЦИЯ...................................................................................................114
5.1.1. Понятие класса и объекта......................................................... 114
5.1.2. Структура класса...................................................................... 115
Описание класса. Свойства и методы...................................... 115
Методы класса......................................................................... 117
Перегружаемые методы........................................................... 118
Области видимости элементов класса..................................... 119
Property-свойства ................................................................... 124
5.2. НАСЛЕДОВАНИЕ...................................................................................................127
5.2.1. Основы наследования.............................................................. 127
5.2.2. Переопределение методов....................................................... 128
Механизм переопределения.................................................... 128
Переопределение методов с сохранением функциональности 130
5.3. ЖИЗНЕННЫЙ ЦИКЛ ЭКЗЕМПЛЯРА КЛАССА...............................................................131
5.3.1. Создание экземпляра класса. Конструктор.............................. 132
Описание и вызов конструктора............................................... 132
Переопределение конструктора.............................................. 133
5.3.2. Использование экземпляра класса........................................... 135
5.3.3. Разрушение объекта. Деструктор............................................. 136
5.4. ПОЛИМОРФИЗМ..................................................................................................138
5.4.1. Совместимость объектов.......................................................... 138
5.4.2. Определение принадлежности к классу и приведение типов объектов.................................................................................. 140
Оператор /s.............................................................................. 140
Оператор as............................................................................. 141
5.4.3. Абстрактные методы................................................................. 142
5.4.4. Полиморфизм и property-свойства........................................... 144
5.5. КЛЮЧЕВОЕ СЛОВО SELF........................................................................................145
ГЛАВА 6. ОСОБЕННОСТИ АРХИТЕКТУРЫ ПРОГРАММЫ В ОПЕРАЦИОННОЙ
СИСТЕМЕ WINDOWS.................................................................147
6.1. АРХИТЕКТУРА ПРОГРАММЫ В ОС DOS......................................................................148
6.2. АРХИТЕКТУРА ПРО ГРАММЫ В ОС WINDOWS..............................................................149
М ногозадачность..................................................................... 149
Многооконность....................................................................... 150
Программа, управляемая событиями....................................... 151
Взаимодействие программы с операционной системой.......... 153
ГЛАВА 7. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К ОБРАБОТКЕ
ОШИБОК ...............................................................................155
7.1. ПОНЯТИЕ ИСКЛЮЧИТЕЛЬНОЙ СИТУАЦИИ.................................................................156
7.2. ОБРАБОТКА ИСКЛЮЧЕНИЙ ....................................................................................157
Блок обработки исключений Try..Except................................... 157
Блок обработки исключений Try..Finally.................................... 159
Различия в методах обработки исключений............................. 160
7.3. ПРИНУДИТЕЛЬНОЕ СОЗДАНИЕ ИСКЛЮЧИТЕЛЬНОЙ СИТУАЦИИ....................................161
«Тихие» исключения................................................................. 161
Эмуляция ошибок.................................................................... 162
7.4. ТРАДИЦИОННЫЙ ПОДХОД К ОБРАБОТКЕ ОШИБОК....................................................162
ГЛАВА 8. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К ХРАНЕНИЮ
ИНФОРМАЦИИ.......................................................................166
8.1. ОБЩИЕ ПОЛОЖЕНИЯ............................................................................................167
8.2. СПИСКИ..............................................................................................................169
8.2.1. Основы использования списков................................................ 169
Класс TList............................................................................... 169
Добавление элементов в список.............................................. 169
Удаление элементов из списка................................................. 170
Доступ к элементам списка...................................................... 170
8.2.2. Управление размером списка................................................... 171
8.2.3. Пример использования списков указателей............................. 172
8.2.4. Списки объектов....................................................................... 173
8.2.5. Списки компонентов................................................................. 174
8.2.6. Списки с заданным порядком элементов. Стеки и очереди....... 175
Понятие стека и очереди.......................................................... 175
Возможности использования класса TOrderedList.................... 175
Стек и очередь как наследники класса TOrderedList................. 177
8.3. КОЛЛЕКЦИИ........................................................................................................177
8.3.1. Основы использования коллекций............................................ 177
8.3.2. Создание и разрушение коллекций........................................... 178
8.3.3. Управление хранимым и данными............................................. 179
Добавление элементов в коллекцию........................................ 179
Удаление элементов из коллекции........................................... 180
Доступ к элементам коллекции................................................ 180
Практическое использование коллекций.................................. 180
8.4. МАССИВЫ ТЕКСТОВОЙ ИНФОРМАЦИИ.....................................................................182
8.4.1. Общие возможности строковых массивов в Delphi.................... 182
8.4.2. Манипуляции со строковыми массивами.................................. 182
Добавление элементов............................................................ 182
Удаление элементов................................................................ 183
Доступ к элементам................................................................. 183
Сохраняемость строковых массивов........................................ 185
8.4.3. Практическое использование строковых массивов................... 185
8.5. ХРАНЕНИЕ СЛОЖНЫХ ДВОИЧНЫХ ДАННЫХ..............................................................186
ГЛАВА 9. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К ВВОДУ/ВЫВОДУ
ИНФОРМАЦИИ........................................................................187
9.1. ОБЩИЕ СВЕДЕНИЯ О ПОТОКАХ...............................................................................188
9.2. БАЗОВЫЙ КЛАСС ДЛЯ РАБОТЫ С ПОТОКАМИ............................................................191
Информация о состоянии устройства ввода/вывода................ 191
Создание и разрушение потока............................................... 192
Чтение и запись информации в поток....................................... 192
9.3. ОСОБЕННОСТИ РЕАЛИЗАЦИИ РАЗНЫХ ПОТОКОВ.......................................................193
9.3.1. Файловые потоки...................................................................... 193
9.3.2. Потоки на основе оперативной памяти..................................... 198
9.3.3. Строковые потоки .................................................................... 199
ГЛАВА 10. вывод ГРАФИЧЕСКОЙ ИНФОРМАЦИИ в DELPHI.......................201
10.1. ОБЩИЕ ПРИНЦИПЫ ВЫВОДА ИНФОРМАЦИИ..........................................................202
10.2. ПАРАМЕТРЫ ВЫВОДА ИНФОРМАЦИИ ....................................................................204
10.2.1. Параметры графической информации....................................204
Общие положения....................................................................204
Цветовые характеристики........................................................205
Характеристики обводки..........................................................206
Характеристики заливки..........................................................208
10.2.2. Характеристики текстовой информации.................................209
10.3. ОБЛАСТИ ОТОБРАЖЕНИЯ И ВЫВОД НА НИХ.............................................................211
Класс TCanvas..........................................................................211
Координатная плоскость..........................................................211
Установка характеристик графических объектов......................211
Вывод текстовой информации.................................................213
Методы вывода графических примитивов................................215
Копирование областей отображения.......................................21 7
Методы вывода изображений..................................................219
Прямой доступ к растровому представлению..........................219
Синхронизация области отображения......................................219
Разновидности областей отображения. Метафайловые
области отображения..............................................................220
10.4. ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ ...................................................222
10.4.1. Представление изображений в Delphi. Базовый класс TGraphic...................................................................................222
Общее описание......................................................................222
Представление растровых изображений. Класс TBitmap..........224
Представление сжатых растровых изображений.
Класс TJPEGImage...................................................................225
Представление Windows-пикторамм. Класс Tlcon....................226
10.4.2. Метафайлы. Класс ТМеtafile....................................................226
Метафайлы и их особенности..................................................226
Области отображения метафайлов. Класс TMetafileCanvas......228
10.4.3. Представление изображений вне зависимости от формата. Класс TPicture..........................................................................229
10.4.4. Пример использования графических изображений.................230
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ЧАСТИ II.....................................................238
ЧАСТЬ III. МЕТОДИКА СОЗДАНИЯ ПРОГРАММ В DELPHI
ГЛАВА 11 . ИСПОЛЬЗОВАНИЕ ИСР DELPHI В РАЗРАБОТКЕ .........................256
11.1. ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТЧИКА DELPHI..................................................257
11.2. ГЛАВНОЕ МЕНЮ .................................................................................................259
Подменю File............................................................................259
Подмен ю Edit...........................................................................260
П одмен ю Search......................................................................26 2
П одмен ю View..........................................................................26 2
Понятие проекта и группы проектов. Подменю Project ............263
Подменю Run...........................................................................265
11.3. КОМПОНЕНТЫ. ПАЛИТРА КОМПОНЕНТОВ И ФОРМЫ.................................................266
11.4. СВОЙСТВА И СОБЫТИЯ КОМПОНЕНТОВ. ИНСПЕКТОР ОБЪЕКТОВ................................269
Основы использования компонентов.......................................269
Понятие активного компонента................................................269
Инспектор объектов.................................................................270
11.5. ОКНО ИСХОДНОГО ТЕКСТА ПРОГРАММЫ................................................................272
Окно навигации по коду...........................................................273
Автодополнение кода...............................................................274
ГЛАВА 12. ОБЩИЕ ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ в DELPHI.................276
12.1. ВИЗУАЛЬНОЕ ПОСТРОЕНИЕ ПРИЛОЖЕНИЯ.............................................................277
12.2. АВТОМАТИЧЕСКОЕ СОЗДАНИЕ ПРОГРАММНО ГО КОДА..............................................281
12.3. ФУНКЦИОНАЛЬНОСТЬ ПРИЛОЖЕНИЯ ....................................................................282
12.4. ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ ...........................................................285
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ЧАСТИ III....................................................289
ЧАСТЬ IV. КОМПОНЕНТЫ И ИХ ИСПОЛЬЗОВАНИЕ
ГЛАВА 13. АРХИТЕКТУРА СИСТЕМЫ КОМПОНЕНТОВ DELPHI ......................294
13.1. КЛАССTOBJECT..................................................................................................295
13.1.1. Поддержка жизнедеятельности объектов...............................295
Создание объекта....................................................................295
Разрушение объекта................................................................297
13.1.2. Реакция на создание и разрушение объектов.........................300
13.1.3. Информация об объектах и классах........................................301
13.1.4. Обработка событий объектов..................................................302
13.1.5. Объектные интерфейсы..........................................................302
Понятие интерфейса в Delphi...................................................302
Базовый интерфейс llnterface..................................................306
Глобальный уникальный идентификатор GUID..........................306
Поддержка интерфейсов классом TObject...............................307
13.2. lUlACCTPERSISTENT............................................................................................307
13.2.1. Переносимость информации между объектами......................308
13.2.2. Сохраняемость свойств..........................................................308
13.3. КЛАССTCOMPONENT...........................................................................................309
13.3.1. Именование компонентов и доступ к ним из программного
кода.........................................................................................310
Именование компонентов во время разработки.......................310
Именование компонентов во время выполнения программы ... 311
13.3.2. Принадлежность компонентов................................................314
13.3.3. Взаимосвязи между компонентами........................................316
Механизм взаимосвязей..........................................................316
Механизмы уведомлений.........................................................316
13.4. ВИЗУАЛЬНЫЕ И НЕВИЗУАЛЬНЫЕ КОМПОНЕНТЫ......................................................318
13.4.1. Визуальные компоненты.........................................................318
Базовый класс визуальных компонентов..................................318
Компоненты-оболочки. Класс TWinContro!...............................319
Использование клавиатуры для взаимодействия с элементами управления. Фокус ввода.........................................................320
Легковесные компоненты. Класс TGraphicContro!....................321
Свойство визуальной принадлежности....................................321
13.4.2. Невизуальные компоненты.....................................................322
13.4.3. Диалоговые компоненты.........................................................322
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ГЛАВЕ 13...................................................323 ГЛАВА 14. ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ .................................................329
14.1. ОБЩИЕ СВОЙСТВА ВИЗУАЛЬНЫХ КОМПОНЕНТОВ....................................................330
14.1.1. Положение и размеры элемента управления на экране..........330
14.1.2. Автоматическое управление положением...............................331
Привязка визуального компонента к одной из сторон
контейнера..............................................................................332
Настройка автоматического изменения положения стороны компонента в соответствии с изменениями размеров контейнера..............................................................................334
Задание минимально и максимально возможных размеров компонентов............................................................................336
14.1.3. Управление видимостью и доступом пользователя
к управлению...........................................................................336
14.1.4. Дружественное поведение элементов управления.................337
Изменение вида курсора мыши при наведении на компонент .. 337 Использование всплывающих подсказок.................................338
14.2. КОМПОНЕНТЫ-КОНТЕЙНЕРЫ ...............................................................................339
14.2.1. Общее описание.....................................................................339
14.2.2. Контейнеры-панели................................................................340
Общее описание контейнеров панелей. Виды панелей............340
Панель ScrollBox— панель с полосами прокрутки....................341
Панель RadioGroup — панель зависимых переключателей.......344
14.2.3. Контейнеры-панели инструментов.........................................345
14.2.4. Страничное представление групп компонентов......................347
14.2.5. Пример использования контейнеров......................................351
14.3. КОМПОНЕНТЫ ДЛЯ ОТОБРАЖЕНИЯ ИНФОРМАЦИИ..................................................356
14.3.1. Виды компонентов для отображения информации..................356
14.3.2. Текстовые метки.....................................................................357
14.3.3. Компоненты-индикаторы........................................................360
Ко м по не нт ProgressBar............................................................360
Компонент Chart— построение диаграмм и графиков.............362
14.3.4. Изображения геометрических фигур......................................363
Отображение разделительных рамок. Компонент Bevel...........363
Изображение графических примитивов. Компонент Shape......364
14.3.5. Вывод сложной графической информации.............................365
Вывод изображений из графических файлов...........................366
Вывод видеоклипов.................................................................368
Отображение изображений, созданных программно...............369
Использование виртуального экрана.......................................371
14.4. КОМПОНЕНТЫ-КНОПКИ.......................................................................................375
14.4.1. Виды кно по к...........................................................................375
14.4.2. Кнопки Button и BitBtn.............................................................375
Простые кнопки Button.............................................................375
Кнопки BitBtn — кнопки с изображениями................................377
Использование стилей для кнопок BitBtn.................................379
14.4.3. Кнопки SpeedButton................................................................380
14.5. КОМПОНЕНТЫ ДЛЯ РЕДАКТИРОВАНИЯ ПРОСТЫХДАННЫХ........................................386
14.5.1. Ввод строк и чисел..................................................................387
14.5.2. Редактирование логических значений. Переключатели...........397
14.5.3. Изменение числового значения в заданном диапазоне...........399
Компонент ScrollBar (полоса скроллинга)................................399
Компонент TrackBar (выбор числового значения
из интервала)...........................................................................401
14.5.4. Выбор даты.............................................................................403
14.6. ВЫБОР ЗНАЧЕНИЯ С ПОМОЩЬЮ СПИСКОВ.............................................................408
14.6.1. Виды компонентов выбора из списка......................................408
14.6.2. Компонент ListBox...................................................................410
14.6.3. Компонент CheckListBox.........................................................411
14.6.4. Компонент ComboBox.............................................................412
14.6.5. Компонент ColorBox................................................................413
14.7. КОМПОНЕНТЫ ДЛЯ РЕДАКТИРОВАНИЯ МНОГОСТРОЧНЫХДАННЫХ............................415
14.7.1. Многострочные редакторы Memo и RichEdit............................415
14.7.2. Особенности компонента RichEdit. RTF-формат......................420
14.7.3. Использование форматирования............................................422
14.8. КОМПОНЕНТЫ ДЛЯ РЕДАКТИРОВАНИЯ ДАННЫХ В ТАБЛИЧНОЙ ФОРМЕ.......................425
14.8.1. Вид и возможности компонент редактирования данных в табличной форме.....................................................................425
14.8.2. Структура классов табличных компонентов.............................427
14.8.3. Особенности компонентов StringGrid и DrawGrid.....................430
14.8.4. Компонент ValueListEditor и его особенности..........................432
14.9. ПРИМЕР ИСПОЛЬЗОВАНИЯ ВИЗУАЛЬНЫХ КОМПОНЕНТОВ ........................................436
Текстовый редактор.................................................................436
Создание заготовки панели инструментов...............................437
Наполнение подпанели управления шрифтом..........................441
Наполнение подпанелей Numbering и Undo/Redo....................442
Наполнение подпанел и управления отступами........................443
Создание области редактирования и панели управления
файл о м....................................................................................444
Дружественный интерфейс......................................................445
Наполнение функциональностью.............................................447
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ГЛАВЕ 14...................................................459
ГЛАВА 15. НЕВИЗУАЛЬНЫЕ КОМПОНЕНТЫ..............................................464
ГЛАВА 16. СОЗДАНИЕ КОМПОНЕНТОВ ВО ВРЕМЯ ВЫПОЛНЕНИЯ
ПРОГРАММЫ.......................................................................467
16.1. ОСНОВНЫЕ ДЕЙСТВИЯ, ВЫПОЛНЯЕМЫЕ ПРИ СОЗДАНИИ КОМПОНЕНТОВ...................468
16.2. СОЗДАНИЕ ВИЗУАЛЬНЫХ КОМПОНЕНТОВ...............................................................470
16.3. НАЗНАЧЕНИЕ ОБРАБОТЧИКОВ СОБЫТИЙ................................................................474
16.4. ИСПОЛЬЗОВАНИЕ МАССИВОВ КОМПОНЕНТОВ........................................................476
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ГЛАВЕ 16...................................................476
ГЛАВА 17. ИСПОЛЬЗОВАНИЕДИАЛОГОВЫХКОМПОНЕНТОВ......................478
17.1. ОБЩИЕ МЕТОДЫ И СОБЫТИЯ ДИАЛОГОВЫХ КОМПОНЕНТОВ.....................................479
17.2. ОБЩИЕ СВОЙСТВА ДИАЛОГОВЫХ КОМПОНЕНТОВ...................................................479
17.3. СТАНДАРТНЫЕ ДИАЛОГОВЫЕ КОМПОНЕНТЫ ..........................................................480
17.4. ДИАЛОГИ ДЛЯ РАБОТЫ С ФАЙЛАМИ......................................................................480
17.4.1. Свойства файловых диалогов.................................................483
Свойство InitialDir.....................................................................483
Свойство Filter.........................................................................483
Настройка функциональности диалогов...................................484
Результаты работы файловых диалогов...................................488
17.4.2. События файловых диалогов..................................................488
17.4.3. Пример использования файловых диалогов...........................490
17.5. ДИАЛОГИ ВЫБОРА ШРИФТА И ЦВЕТА.....................................................................492
17.5.1. Работа с компонентом ColorDialog..........................................493
17.5.2. Работа с компонентом FontDialog............................................495
Свойства FontDialog.................................................................495
События FontDialog..................................................................498
17.5.3. Пример использования диалогов выбора цвета и шрифта......498
17.6. ДИАЛОГИ ТЕКСТОВОГО ПОИСКА И ЗАМЕНЫ............................................................499
17.6.1. Работа с компонентами поиска и замены................................501
17.6.2. Настройка функциональности диалогов Fine/Dialog и ReplaceDialog...........................................................................50 2
17.6.3. Анализ данных компонента Fine/Dialog.....................................504
17.6.4. Анализ данных компонента ReplaceDialog...............................504
17.6.5. Пример использования диалога замены.................................505
17.7. ДИАЛОГИ НАСТРОЙКИ ПАРАМЕТРОВ ПЕЧАТИ ..........................................................508
17.7.1. Компонент PrintDialog.............................................................509
События PrintDialog..................................................................510
Свойства PrintDialog.................................................................510
Настройка функциональности..................................................511
17.7.2. Компонент PrinterSetupDialog.................................................51 2
17.7.3. Компонент PageSetupDialog....................................................513
Свойства PageSetupDialog.......................................................513
Настройка функциональности PageSetupDialog.......................515
События PageSetupDialog .......................................................516
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ГЛАВЕ 17...................................................518
ГЛАВА 18. ФОРМЫ..............................................................................521
18.1. ПОНЯТИЕ ФОРМЫ. ФОРМА КАК ЧАСТЬ ПРОЕКТА......................................................522
18.1.1. Форма как Delphi-компонент...................................................522
18.1.2. Представление формы в проекте............................................523
18.2. ИСПОЛЬЗОВАНИЕ ФОРМ .....................................................................................526
18.2.1. Жизненный цикл формы.........................................................526
Добавление формы в проект....................................................526
Организация структуры форм в приложении............................526
Автоматическое создание формы во время выполнения программы..............................................................................527
Прямое создание формы во время выполнения программы .... 529
18.2.2. Отображение формы..............................................................531
Немодальные формы...............................................................532
Модальные формы...................................................................532
18.2.3. Управление доступом к форме................................................535
Скрытие формы с экрана.........................................................535
Разрушение формы.................................................................535
Закрытие формы......................................................................537
18.3. ОРГАНИЗАЦИЯ МНОГООКОННЫХ ПРИЛОЖЕНИЙ......................................................539
Виды приложений сточки зрения организации окон................539
SDI-приложения.......................................................................540
MDI-приложения......................................................................541
Приоритетные окна..................................................................541
Организация форм в многооконных приложениях....................543
18.4. СВОЙСТВА И СОБЫТИЯ КЛАССА TFORM........................................................545
18.4.1. События форм........................................................................545
Создание, разрушение и активность........................................545
Перемещение и изменение размеров......................................547
Манипуляции с мышью в области формы.................................549
Клавиатурные события............................................................551
18.4.2. Свойства форм.......................................................................553
Расположение и размеры........................................................553
Управление атрибутами окна...................................................555
Прозрачность окна...................................................................556
18.5. ОСОБЕННОСТИ ВИЗУАЛЬНОГО ПРОЕКТИРОВАНИЯ ФОРМ .........................................558
18.5.1. Расположение компонентов на форме....................................558
Организация контейнеров переменного размера.
Компонент Splitter....................................................................559
Открепление элементов управления........................................561
18.5.2. Использование фреймов........................................................563
Понятие фрейма......................................................................564
Создание фрейма....................................................................565
Добавление фрейма на форму.................................................565
Связи экземпляров фреймов...................................................566
18.5.3. Репозиторий форм.................................................................567
Добавление формы в репозиторий .........................................567
Построение формы на основе хранимой в репозиторий..........568
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ГЛАВЕ 18...................................................569
ЧАСТЬ V. ВЗАИМОДЕЙСТВИЕ ПРИЛОЖЕНИЯС ОПЕРАЦИОННОЙ СИСТЕМОЙ
ГЛАВА 19. ГИБКОЕУПРАВЛЕНИЕ ОКРУЖЕНИЕМ ....................................... 573
19.1. ВВЕДЕНИЕ ......................................................................................................... 574
19.2. ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ APPLICATION ............................................................... 574
Управление всплывающими подсказками ................................ 575
Взаимодействие с пользователем через простейшие диалоги 575 Идентификация приложения в системе .................................... 577
Информация об исполняемом файле ....................................... 578
Управление состоянием приложения ....................................... 579
Особенности обработки событий в Windows и Delphi ................ 580
Распределение вычислительной нагрузки на приложение ....... 582
Событие необработанного исключения .................................... 585
19.3. ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ SCREEN ...................................................................... 586
19.4. ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ MOUSE ....................................................................... 587
Положение указателя мыши на экране.....................................587
Захват мыши окном приложения..............................................587
Настройки колеса мыши..........................................................588
ГЛАВА 20. ВЫВОД ИНФОРМАЦИИ ЗА ПРЕДЕЛЫ ПРОГРАММЫ.
ТЕХНОЛОГИЯ СОМ................................................................590
20.1. ВЫВОД ИНФОРМАЦИИ НА ПЕЧАТЬ.........................................................................591
Понятие задания для печати....................................................591
Управление структурой документа...........................................592
Вывод информации.................................................................594
Контроль за процессом формирования документа..................595
Пример вывода информации на принтер.................................596
Функции печати стандартных компонентов..............................597
20.2. ВЫВОД ИНФОРМАЦИИ В ДРУГИЕ ПРИЛОЖЕНИЯ. ОСНОВЫ ТЕХНОЛОГИИ СОМ .............597
20.2.1. Общие положения...................................................................597
20.2.2. Основы СОМ-технологии........................................................598
Основные понятия СОМ. СОМ-объекты...................................598
Вызов методов СОМ-объектов. Интерфейс IDispatch...............599
Создание и использование экземпляров серверов автоматизации.........................................................................601
20.2.3. Экспорт информации в приложения Microsoft Off ice...............603
20.2.4. Экспорт информации Microsoft Word......................................604
Запуск сервера........................................................................605
Взаимодействие с сервером на уровне документа...................606
Непосредственный вывод информации. Объект Selection........608
Форматирование текстовой информации................................609
Использование закладок..........................................................611
Управление приложением Microsoft Word.................................61 2
Экспорт текстовой информации из компонента RichEdit..........613
20.2.5. Экспорт информации в Microsoft Excel....................................61 7
Управление сервером автоматизации Excel.............................618
Управление документами Excel................................................618
Адресация элементов документа на рабочем листе.................619
Вывод информации в ячейки рабочего листа...........................619
Пример вывода информации в приложение Excel....................620
ГЛАВА 21 . УПРАВЛЕНИЕ ВЫПОЛНЕНИЕМ ПРИЛОЖЕНИЯ..........................623
21.1. СО ЗДАНИЕ И ИСПОЛЬЗОВАНИЕ DLL-БИБЛИОТЕК....................................................624
21.1.1. Понятие и назначение DLL-библиотек.....................................624
21.1.2. Создание DLL-библиотеки......................................................625
21.1.3. Особенности передачи строковых параметров в подпрограммы DLL-библиотек.........................................................................627
21.1.4. Наполнение библиотек подпрограммами...............................628
21.1.5. Использование DLL-библиотек. Виды динамической компоновки..............................................................................629
Статическое связывание .........................................................629
Динамическое связывание.......................................................631
21.1.6. Соглашения о вызовах подпрограмм......................................632
21.2. МНОГОПОТОЧНОСТЬ...........................................................................................633
21.2.1. Понятие и назначение потоков................................................633
21.2.2. Описание потока.....................................................................634
21.2.3. Создание потока и управление его выполнением....................636
21.2.4. Разрушение потока.................................................................637
21.2.5. Получение результата работы потока......................................639
Использование VCL в многопоточных приложениях.................640
Использование обработчика OnTerminate................................641
Использование дополнительных событий................................644
Использование глобальных переменных..................................646
21.2.6. Приоритеты потоков...............................................................646
ВОПРОСЫ С ОТВЕТАМИ ДЛЯ ПОВТОРЕНИЯ ПО ЧАСТИ V.....................................................647
ЧАСТЬ VI. СОЗДАНИЕ КОМПОНЕНТОВ
ГЛАВА 22. основы ИСПОЛЬЗОВАНИЯ КОМПОНЕНТОВ.............................652
22.1. ПОНЯТИЕ КОМПОНЕНТА.......................................................................................653
22.2. НАЗНАЧЕНИЕ КОМПОНЕНТОВ ...............................................................................653
22.2.1. Повторная используемость.....................................................653
22.2.2. Функциональность..................................................................653
22.2.3. Унификация программных продуктов......................................654
22.3. ОПИСАНИЕ КОМПОНЕНТА.....................................................................................654
22.3.1. Реализация модуля компонента..............................................654
22.3.2. Использование пакетов компонентов.....................................656
ГЛАВА 23. ЖИЗНЕННЫЙ цикл КОМПОНЕНТА в СРЕДЕ РАЗРАБОТКИ...........ess
23.1. СОЗДАНИЕ КОМПОНЕНТОВ ..................................................................................659
23.1.1. Создание компонентов вручную..............................................659
23.1.2. Создание компонентов средствами среды разработчика.......659
23.2. УПРАВЛЕНИЕ КОМПОНЕНТАМИ.............................................................................661
23.3. УДАЛЕНИЕ КОМПОНЕНТОВ ИЗ ПАЛИТРЫ КОМПОНЕНТОВ..........................................662
23.3.1. Использование диалога управления проектом........................662
23.3.2. Удаление компонентов с помощью диалога управления пакетами компонентов.............................................................664
ГЛАВА 24. РАЗРАБОТКА КОМПОНЕНТОВ.................................................665
24.1. СОГЛАШЕНИЕ ОБ ИМЕНОВАНИИ КОМПОНЕНТОВ И ИХ ЭЛЕМЕНТОВ.............................666
24.1.1. Именование компонентов.......................................................666
24.1.2. Именование свойс
Книга Самоучитель Основы программирования в Delphi 2010. Культин (+СD) является пособием для начинающих по программированию в Delphi 2010. В ней в доступней форме изложены принципы визуального проектирования и событийного программирования, на конкретных примерах показана методика создания программ различного назначения, приведено описание среды разработки и базовых компонентов.
Книга представляет собой пособие по программированию в Turbo Delphi для начинающих. В ней подробно рассмотрен процесс создания программы: от разработки диалогового окна и процедур обработки событий до создания справочной системы и установочного компактдиска. В доступной форме изложены принципы визуального проектирования и событийного программирования, на конкретных примерах демонстрируется назначение компонентов, возможности среды разработки, методика создания программ различного назначения.