Оглавление
Введение 11
Замечания ко второму изданию 13
Глава 1. Основные принципы работы компьютера 15
1.1. Двоичная система работы процессора 15
1.2. Машинный язык 21
1.3. История языков программирования 22
1.4. Исполнение машинных команд 27
Глава 2. Машинная математика 29
2.1. Основы машинной математики 29
2.2. Блок-схемы 32
2.3. Машинная логика и циклы 34
2.4. Программирование машинной логики 37
Глава 3. Начальные сведения о Delphi 39
3.1. Оболочка Delphi 39
3.2. Главное меню 42
3.3. Настройка 45
Глава 4. Визуальная модель Delphi 52
4.1. Процедурное программирование 53
4.2. Объектно-ориентированное программирование 57
4.3. Компонентная модель 62
4.4. Наследственность 63
4.5. Полиморфизм 65
4.6. Инкапсуляция 66
Глава 5. Основы языка программирования Delphi 68
5.1. "Hello World", или Из чего состоит проект 68
5.2. Язык программирования Delphi 79
5.3. Типы данных в Delphi 85
5.3.1. Целочисленные типы данных 86
5.3.2. Вещественные типы данных 87
5.3.3. Символьные типы данных 88
5.3.4. Булевы типы 93
5.3.5. Массивы 95
5.3.6. Странный PChar 96
5.3.7. Константы 98
5.3.8. Всемогущий Variant 99
5.4. Процедуры и функции в Delphi 100
5.5. Рекурсивный вызов процедур 109
5.6. Встроенные процедуры 111
5.7. Возврат значений через параметры 113
5.8. Перегрузка 114
5.8. Методы объектов 115
5.9. Наследование объектов 116
Глава 6. Работа с компонентами 119
6.1. Основная форма и ее свойства 119
6.2. Событийная модель Windows 130
6.3. События главной формы 132
6.4. Палитра компонентов 133
Глава 7. Палитра компонентов Standard 135
7.1. Кнопка (TButton) 135
7.2. Изменение свойств кнопки (логические операции) 139
7.3. Надписи (TLabel) 143
7.4. Строки ввода (TEdit) 144
7.5. Многострочное поле ввода (TMemo) 146
7.6. Класс TStrings 151
7.6.1. Свойства TStrings 151
7.6.2. Методы объекта TStrings 151
7.7. Компонент CheckBox 152
7.8. Панели (TPanel) 153
7.9. Кнопки выбора TRadioButton 156
7.10. Списки выбора (TListBox) 157
7.11. Ниспадающие списки (TComboBox) 159
7.12. Полосы прокрутки (TScrollBar) 161
7.13. Группировка объектов (TGroupBox) 162
7.14. Группа компонентов RadioButton (TRadioGroup) 163
7.15. Список действий TActionList 164
Глава 8. Учимся программировать 167
8.1. Циклы fo...to...do 167
8.2. Циклы while 171
8.3. Циклы Repeat 173
8.4. Управление циклами 174
8.5. Логические операторы 179
8.6. Работа со строками 182
8.6.1. Функция Length 182
8.6.2. Функция Copy 183
8.6.3. Функция Delete 184
8.6.4. Функция Pos 184
8.6.5. Функция Insert 185
8.7. Исключительные ситуации 185
8.8. Классы исключительных ситуаций 188
Глава 9. Создание рабочих приложений 193
9.1. Создание главного меню программы 193
9.2. Создание дочерних окон 198
9.3. Модальные и немодальные окна 202
9.4. Обмен данными между формами 203
9.5. Многодокументные MDI-окна 205
9.6. Инициализация окон 211
9.7. Фреймы 216
Глава 10. Основные приемы программирования 218
10.1. Работа с массивами 218
10.2. Многомерные массивы 224
10.3. Работа с файлами 226
10.4. Работа с текстовыми файлами 230
10.5. Приведение типов 234
10.5.1. Преобразование целых чисел в строку и обратно 235
10.5.2. Преобразование даты в строку и обратно 236
10.5.3. Преобразование вещественных чисел 238
10.6. Преобразование совместимых типов (преобразование строк) 240
10.6.1. Приведение классов 241
10.7. Указатели 243
10.8. Структуры, записи 246
10.9. Храним структуры в динамической памяти 251
10.10. Поиск файлов 253
10.11. Работа с системным реестром 258
10.12. Множества 266
10.13. Потоки 267
10.14. Концентрация на объекте 269
Глава 11. Обзор дополнительных компонентов Delphi 271
11.1. Дополнительные кнопки Delphi (TSpeedButton и TBitBtn) 271
11.2. Самостоятельная подготовка иконок 277
11.3. Маскированная строка ввода (TMaskEdit) 277
11.4. Сеточки (TStringGrid, TDrawGrid) 278
11.5. Компоненты TImage, TShape, TBevel 286
11.6. Панель с полосами прокрутки (TScrollBox) 290
11.7. Маркированный список (TCheckListBox) 291
11.8. Полоса разделения (TSplitter) 293
11.9. Многострочный текст (TStaticText) 294
11.10. Редактор параметров (TValueListEditor) 294
11.11. Набор вкладок (TTabControl ) 297
11.12. Набор страниц (TPageControl) 302
11.13. Набор картинок (TImageList) 306
11.14. Ползунки (TTrackBar) 306
11.15. Индикация процесса (TProgressBar) 308
11.16. Простейшая анимация (TAnimate) 311
11.17. Ниспадающий список выбора даты (TDateTimePicker) 313
11.18. Календарь (TMonthCalendar) 313
11.19. Дерево элементов (TTreeView) 314
11.20. Профессиональное использование компонента TreeView 320
11.21. Список элементов (TListView) 324
11.22. Простейший файловый менеджер 327
11.23. Улучшенный файловый менеджер (с возможностью запуска файлов) 339
11.24. Подсказки для чайников (TStatusBar) 340
11.25. Панель инструментов (TToolBar и TControlBar) 343
11.26. Перемещаемые панели и меню в стиле MS (Docking) 346
11.27. Меню и панели в стиле ХР 350
11.28. Всплывающее меню в стиле ХР 355
11.29. Практика использования Action 356
11.30. События приложения 361
11.31. Поле ввода с меткой 362
11.32. Коробка с цветом 362
11.33. Иконка в SystemTray 363
Глава 12. Графические возможности Delphi 365
12.1. Графическая система Windows 365
12.2. Первый пример работы с графикой 367
12.3. Свойства карандаша 369
12.4. Свойства кисти 373
12.5. Работа с текстом в графическом режиме 378
12.6. Вывод текста под углом 380
12.7. Работа с цветом 385
12.8. Методы объекта TCanvas 390
12.8.1. Pixels 390
12.8.2. TextWidth и TextHeight 391
12.8.3. Arс 391
12.8.4. CopyRect 391
12.8.5. Draw 393
12.8.6. Ellipse 393
12.8.7. FillRect 393
12.8.8. FloodFill 393
12.9. Компонент работы с графическими файлами (TImage) 394
12.10. Рисование на стандартных компонентах 398
12.11. Работа с экраном 403
12.12. Режимы рисования 405
12.13. Сканирование данных 411
Глава 13. Печать в Delphi 415
13.1. Объект TPrinter 416
13.2. Получение информации об установленном принтере 420
13.3. Текстовая печать 424
13.4. Печать содержимого формы 425
13.5. Вывод на печать изображения 431
13.6. Еще немного о печати 434
13.7. Это интересно 436
Глава 14. Delphi и базы данных 440
14.1. Теория реляционных баз данных 441
14.1.1. Локальные базы данных 443
14.1.2. Delphi и базы данных 445
14.2. Создание первой базы данных Access 446
14.3. Пример работы с базами данных 450
14.3.1. Свойства компонента TADOTable 455
14.3.2. Методы компонента TADOTable 457
14.4. Управление отображением данных 459
14.5. Поисковые поля 467
14.6. Улучшенный пример с поисковыми полями 474
14.7. Сортировка 477
14.8. Фильтрация данных 479
14.9. Язык запросов SQL 484
14.10. Связанные таблицы 491
14.11. Вычисляемые поля 497
14.12. Цветные сетки DBGrid 501
14.13. Подключение к базе данных во время выполнения программы 505
14.14. Расширения ADO 508
14.15. Обработка базы данных 514
14.16. Бинарные данные 517
14.17. События наборов данных 522
14.18. События DataSource 524
14.19. Позиционирование 526
Глава 15. Создание отчетности 528
15.1. Создание отчетности в Excel 529
15.2. Отчетность в Word 538
15.3. Отчетность в Quick Reports 540
15.4. Печать таблиц с помощью Quick Reports 547
15.5. Печать связанных таблиц 548
15.6. Дополнительные возможности 550
Глава 16. Работа с DBF, Paradox, XML и клиент-серверными базами данных 552
16.1. Создание таблицы Paradox 553
16.2. Русификация таблиц Paradox и DBF 559
16.3. Быстрый поиск 561
16.4. Создание псевдонимов 562
16.5. Работа с XML-таблицами 566
16.6. Теория клиент-серверных баз данных 567
16.7. Пример работы с SQL Server 569
16.8. Многоуровневые приложения для баз данных 575
16.8.1. Реализация сервера бизнес-логики 578
16.8.2. Клиент для бизнес-логики 581
Глава 17. Потоки 587
17.1. Теория потоков 588
17.2. Простейший поток 590
17.3. Дополнительные возможности потоков 594
17.4. Подробней о синхронизации 596
17.5. Объект события Event 597
17.6. Критические секции 602
Глава 18. Динамически компонуемые библиотеки 606
18.1. Что такое DLL 606
18.1.1. Решение № 1 606
18.1.2. Проблема № 1 607
18.1.3. Проблема № 2 607
18.1.4. Решение № 2 608
18.1.5. Из чего сделан Windows 610
18.2. Простой пример создания DLL 612
18.3. Замечания по использованию библиотек 616
18.4. Хранения формы в динамических библиотеках 617
18.5. Немодальные окна в динамических библиотеках 621
18.6. Явная загрузка библиотек 624
18.7. Точка входа 627
18.8. Вызов из библиотек процедур основной программы 629
Глава 19. Разработка собственных компонентов 632
19.1. Пакеты 633
19.2. Подготовка к созданию компонента 641
19.3. Создание первого компонента 644
19.4. Создание иконки компонента 655
19.5. События в компонентах 657
19.6. Когда создавать компоненты 659
Глава 20. Технология OLE 660
20.1. Теория OLE 660
20.2. OLE-контейнер 663
20.3. Создание собственного окна вставки OLE-объекта 668
Глава 21. Компоненты ActiveX 673
21.1. Использование Internet Explorer 673
21.2. Пример создания ActiveX-форм 680
21.3. Создание компонентов ActiveX 684
Глава 22. Технология COM 692
22.1. Модель COM 692
22.2. Информация о COM 693
22.3. Интерфейс и реализация 695
Глава 23. Буфер обмена 699
23.1. Буфер обмена и стандартные компоненты Delphi 699
23.2. Объект Clipboard 701
23.3. Картинки и буфер обмена 703
23.4. Создание собственного формата для работы с буфером 709
Глава 24. Дополнительная информация 717
24.1. Тестирование и отладка 717
24.2. Работа с редактором 726
24.2.1. Закладки 726
24.2.2. Копирование строк 727
24.2.3. Code Explorer 728
24.2.4. Редактор кода 729
24.3. Создание программ инсталляции 730
24.4. Как писать и распространять программы 743
Глава 25. Практика 747
25.1. Создание ScreenSaver 747
25.2. Компоненты в runtime 753
25.3. Тест на прочность 759
25.4. Сохранение и загрузка теста 773
25.5. Тестер 777
Приложение 1. Основные классы библиотеки VCL 785
П1.1. TObject 785
П1.2. TPersistent 785
П1.3. TComponent 786
П1.4. TControl 786
П1.5. TWinControl 790
П1.6. TApplication 792
Приложение 2. Описание компакт-диска 793
Список литературы 794
Предметный указатель 795
Книга посвящена программированию на языке Delphi от самых основ до примеров построения конкретных приложений. Подробно описывается логика выполнения каждого участка кода, чтобы читатель смог использовать эти знания при решении собственных задач. Книга содержит большое количество примеров практического программирования; некоторые из них вынесены в качестве дополнительной информации на прилагаемый компакт-диск. Во втором издании материал существенно переработан и дополнен с учетом новых возможностей. Компакт-диск содержит исходные коды программ, дополнительную справочную информацию, а также готовые изображения и компоненты.