Краткое оглавление
Вступление...................................................................................................12
Часть 1
Введение в Delphi 7.................................................................13
Глава 1. Разработка приложений в среде Delphi 7........................................14
Глава 2. Приложение "Лабиринт".................................................................48
Часть II
Delphi 7 и базы данных...........................................................97
Глава 3. Работа с локальными базами данных..........................................100
Глава 4 Основы языка SQL........................................................................147
Глава 5. Базы данных InterBase..................................................................166
Глава 6. Доступ к SQL-серверам из приложений Delphi 7..........................181
Глава 7. Приложение "Персонал"...............................................................198
Глава 8. Организация защиты данных.......................................................267
Глава 9. Советы по оптимизации работы с базами данных......................274
Часть III
Печать и отчеты в Delphi 7.......................................................281
Глава 10. Печать в приложениях Delphi.....................................................282
Глава 11. Отчеты Rave Reports...................................................................291
Часть IV
Разработка приложений для Web.............................................299
Глава 12. Основы языка HTML...................................................................300
Глава 13. Разработка Web-серверных приложений....................................314
Глава 14 Разработка клиентских приложений...........................................339
Приложение А. Основы синтаксиса языка Object Pascal............................341
Приложение Б. Соглашения........................................................................354
Приложение В. Иерархия классов.............................................................359
Приложение Г. Компоненты
вкладок Standard, Additional и Win32...........................................................361
Приложение Д. Процедуры и функции.......................................................364
Оглавление
Вступление.............................................................................12
Часть I
Введение в Delphi 7..................................................................13
Глава 1. Разработка приложений в среде Delphi 7..........................14
Установка Delphi 7..................................................................................................................14
Интегрированная среда разработки Delphi 7.........................................................................15
Конструктор форм, палитра компонентов и окно Object TreeView...........................................16
Палитра компонентов.................................................................................................................18
Работа с компонентами в конструкторе форм............................................................................21
Выделение компонентов...........................................................................................................21
Перемещение компонентов.....................................................................................................22
Выравнивание компонентов....................................................................................................22
Изменение размеров компонентов..........................................................................................22
Удаление компонентов...........................................................................................................23
Практикум...................................................................................................................................23
Инспектор объектов..............................................................................................................24
Вкладка Properties......................................................................................................................25
Вкладка Events.............................................................................................................................26
Настройка инспектора объектов...................................,............................................................27
Практикум: создание обработчиков событий и создание первого приложения............................28
Структура проекта Delphi 7.....................................................................................................31
Исходные файлы проекта Delphi 7...............................................................................................32
Главный файл проекта (.dpr)....................................................................................................32
ключевое слово program...................................................................................................................33
Раздел uses.........................................................................................................................................33
Директива $R.......................................................................................................................................33
Объект Application...............................................................................................................................33
Пример динамического создания форм..............................................................................................34
Метод Application.Run..........................................................................................................................36
Файлы программных модулей (.pas).......................................................................................37
Проблема циклических ссылок...........................................................................................................39
Файлы форм (dfm)..................................................................................................................39
Представление формы.......................................................................................................................39
Пример изменения свойств компонента формы.................................................................................41
Редактор исходного кода и окно Code Explorer......................................................................42
Code Insight..............................................................................................................................42
Вкладка Diagram..........................................................................................................................44
Окно Code Explorer......................................................................................................................45
Настройка редактора исходного кода........................................................................................47
Глава 2. Приложение "Лабиринт"...............................................48
Создание нового приложения................................................................................................48
Параметры проекта....................................................................................................................48
Вкладка Application..................................................................................................................49
Вкладка Compiler.....................................................................................................................50
Вкладка Compiler Messages......................................................................................................51
Вкладка Linker...........................................................................................................................52
Вкладка Directories/Conditionals...............................................................................................52
Вкладка Version Info..................................................................................................................52
Вкладка Packages...................................................................................................................52
Настройка свойств форм.............................................................................................................53.
Меню и панель инструментов формы fmMain..............................................................................56
Разработка меню......................................................................................................................56
Быстрые клавиши................................................................................................................................58
Разработка панели инструментов............................................................................................58
Компонент ImageList................................................................................................................60
Разработка игрового поля...........................................................................................................62
Разработка редактора лабиринтов............................................................................................64
Динамическое создание формы..............................................................................................64
Разработка интерфейса редактора лабиринтов.......................................................................64
Программный код модуля редактора лабиринтов........................................................................70
Рисование структуры лабиринта..............................................................................................70
Процедура проверки корректности структуры лабиринта........................................................76
Обработчик события fmNewMaze.OnClose................................................................................79
Обработчик события bbSave.OnClick.......................................................................................80
Программный код основного модуля приложения.......................................................................83
Загрузка лабиринта в игровое поле и в редактор лабиринтов..................................................84
Реализация игровых функций игры "Лабиринт"........................................................................90
Отладка приложений.............................................................................................................91
Переход в режим отладки............................................................................................................92
Точки прерывания......................................................................................................................92
Окна отладчика...........................................................................................................................93
Часть II
Delphi 7 и базы данных............................................................97
Выбор типа базы данных........................................................................................................98
Глава 3. Работа с локальными базами данных.............................100
Доступ к локальным базам данных в Delphi........................................................................100
Псевдонимы BDE......................................................................................................................101
Создание приложения баз данных при помощи мастера Database Form Wizard...................102
Анализ новой формы................................................................................................................107
Настройка элементов управления данными..............................................................................107
формат отображения данных.................................................................................................108
Приложение "Фотоальбом"..................................................................................................111
Настройка BDE и создание псевдонима...................................................................................112
Программа SQL Explorer.........................................................................................................112
Программа BDE Administrator..................................................................................................113
Создание псевдонима BDE.....................................................................................................115
Постановка задачи...................................................................................................................115
Разработка главной формы приложения....................................................................................116
Разработка структуры таблицы фотоальбома........................................................................,121
Компоненты DataSource и Query.............................................................................................123
Компоненты для редактирования и просмотра данных фотоальбома.......................................124
Программный код главной формы.........................................................................................128
Создание нового альбома.................................................................................................................129
Открытие альбома............................................................................................................................132
Определение набора категорий.......................................................................................................133
Метод SetContent...............................................................................................................................134
О6pa6oтчик события TDataSource.OnDataChange.............................................................................136
Создание формы выбора и дополнения фотографий в альбом........................................................137
Разработка формы fmPicture.............................................................................................................138
Исходный код модуля формы fmPicture............................................................................................141
Команды Фотографии > Переименовать и Фотографии > Удалить...............................................144
Глава 4. Основы языка SQL......................................................147
Установка и запуск сервера InterBase 6.5............................................................................147
Приложение IBConsole.........................................................................................................148
Подключение к серверу.............................................................................................................148
Регистрация существующей базы данных..................................................................................150
Создание базы данных.............................................................................................................150
Команды SQL..................................................:....................................................................152
Создание базы данных..............................................................................................................152
Создание таблиц......................................................................................................................153
Удаление таблиц......................................................................................................................157
Индексы....................................................................................................................................157
Добавление данных...................................................................................................................158
Команды COMMIT и ROLLBACK..................................................................................................159
Просмотр данных....................................................................................................................159
Выражения в столбцах............................................................................................................160
Ключевое слово WHERE..........................................................................................................160
Объединения......................................................................................................................161
Вложенные запросы...............................................................................................................162
Операция GROUP BY.............................................................................................................162
Ключевое слово HAVING........................................................................................................162
Операция ORDER BY..............................................................................................................163
Псевдонимы столбцов...........................................................................................................163
Псевдонимы таблиц...............................................................................................................163
Изменение данных....................................................................................................................164
Удаление строк.........................................................................................................................164
Подключение к базе данных и отключение от базы данных.......................................................164
Глава 5. Базы данных InterBase.................................................166
Генераторы.........................................................................................................................166
Триггеры..............................................................................................................................168
Индексы................................................................................................................................169
Ограничения........................................................................................................................170
Первичный ключ........................................................................................................................170
Внешние ключи........................................................................................................................171
Проверка значений....................................................................................................................171
Хранимые процедуры..........................................................................................................172
Процедуры выбора...................................................................................................................172
Выполняемые процедуры..........................................................................................................173
Объявление переменных..........................................................................................................173
Выполнение хранимых процедур...............................................................................................174
Исключения..........................................................................................................................174
Представления....................................................................................................................176
Роли.....................................................................................................................................177
Другие элементы InterBase..................................................................................................177
Домены....................................................................................................................................177
Внешние функции......................................................................................................................178
Курсоры.....................................................................................................................................178
Сценарий создания базы данных staff .gdb...........................................................................179
Глава 6. Доступ к SQL-серверам из приложений Delphi 7...............181
Подключение к серверам баз данных.................................................................................181
Способы подключения к базе данных.......................................................................................181
Подключение к базе данных при помощи компонента Database................................................182
Доступ к базам данных при помощи средств dbExpress...........................................................183
Однонаправленные наборы данных.......................................................................................183
Разработка приложения "Персонал"....................................................................................183
Форма fmLogin..........................................................................................................................185
Подключение к базе данных staff.gdb........................................................................................185
Компонент SQLConnection......................................................................................................186
Программный код подключения..............................................................................................187
Отображение формы fmLogin перед отображением формы fmMain........................................190
Сохранение параметров приложения в системном реестре Windows........................................191
Функции чтения и записи информации системного реестра..................................................192
Обзор компонентов dbExpress............................................................................................194
Компонент SQLDataSet.............................................................................................................194
Извлечение метаданных........................................................................................................195
Компонент SQLMonitor...............................................................................................................196
Компонент SimpleDataSet.........................................................................................................196
Глава 7. Приложение "Персонал"..............................................198
Постановка задачи..............................................................................................................198
Модуль данных.....................................................................................................................199
Компоненты SimpleDataSet......................................................................................................199
Компоненты для доступа к хранимым процедурам....................................................................200
Компонент sqlqChildDeptsList.............................................................................................201
Компонент sqldsDeleteEmp.....................................................................................................201
Создание объектов полей..........................................................................................................202
Главная форма....................................................................................................................203
Вкладка Справочники...............................................................................................................206
Редактирование таблиц справочников..................................................................................209
Обработчики событий набора данных sidsDeps.....................................................................210
Обработчики событий набора данных sidsPoss.......................................................................212
Обработчики событий набора данных sidsRegions.................................................................213
Вкладка Параметры приложения...............................................................................................215
Вкладка Сотрудники.................................................................................................................219
Отображение структуры организации при помощи компонента TreeView................................222
Структура организации — процедура LoadStructure................................................................225
Выбор данных о сотрудниках процедура SetSelection............................................................230
Контекстные меню и события сетки данных dgrStaff.................................................................233
Отображение общих данных о сотруднике................................................................................235
Добавление новых сотрудников и редактирование общей информации о сотруднике...........238
Форма fmNew.........................................................................................................................238
Работа с компонентом valeData..............................................................................................241
Загрузка фотографии............................................................................................................244
Процедура DataForEmployee..................................................................................................245
Удаление данных о сотруднике..................................................................................................250
Автоматическая вставка данных в таблицу JOBS.......................................................................252
Форма fmTransfer..................................................................................................................252
Изменения процедуры DataForEmployee.......:.........................................................................255
Процедура SetTransfer.......................................................................................................256
Работа с таблицами FAMILY и JOBS.........................................................................................258
Объекты столбцов компонента DBGrid....................................................................................263
Создание и активизация формы fmData.................................................................................263
Автоматическая вставка значений в поле EmpID....................................................................264
Организация быстрого поиска сотрудников..............................................................................265
Глава 8. Организация защиты данных.......................................267
Работа с пользователями в программе IBConsole................................................................267
Регистрация нового пользователя.............................................................................................268
Изменение данных о пользователе............................................................................................269
Удаление пользователя.............................................................................................................269
Права доступа....................................................................................................................269
Роли.........................................................................................................................................270
Команды GRANT и REVOKE........................................................................................................270
Команда REVOKE..................................................................................................................272
Глава 9. Советы по оптимизации работы с базами данных.............274
Оптимизация баз данных.....................................................................................................274
Совет 1. О первичных и внешних ключах..................................................................................274
Совет 2. О хранимых процедурах.............................................................................................275
Совет 3. О триггерах................................................................................................................275
Совет 4. Об индексах...............................................................................................................276
Совет 5. О полях типа varchar....................................................................................................276
Совет 6. О размере страниц в базе данных..............................................................................276
Оптимизация приложений....................................................................................................276
Совет 1.О транзакциях............................................................................................................277
Совет 2. О команде LIKE..........................................................................................................277
Совет 3. О подготовке запросов...............................................................................................277
Совет 4. Об извлечении записей..............................................................................................278
Совет 5. Об удаленном подключении.......................................................................................278
Совет 6. О метаданных..............................................................................................................279
Совет 7. Об объектах полей......................................................................................................279
Оптимизация работы сети...................................................................................................279
Часть III
Печать и отчеты в Delphi 7.......................................................281
Глава 10. Печать в приложениях Delphi......................................282
Печать форм.........................................................................................................................282
Печать содержимого компонента RichEdit..........................................................................285
Печать в текстовом режима................................................................................................286
Печать в графическом режиме.............................................................................................288
Глава 11. Отчеты Rave Reports................................................291
Создание отчета для приложения "Персонал".....................................................................291
Особенности интерфейса программы Rave Reports.............................................................295
Часть IV
Разработка приложений для Web...............................................299
Глава 12. Основы языка HTML..................................................300
Структура указателя URL.....................................................................................................300
Основы языка HTML............................................................................................................301
Атрибуты элемента BODY........................................................................................................303
Заголовок HTML-страницы........................................................................................................304
Элементы форматирования текста...........................................................................................305
Гиперссылки..............................................................................................................................307
Открытие другого документа................................................................................................507
Переход к закладке................................................................................................................307
Списки......................................................................................................................................307
Вставка изображений...............................................................................................................308
Табличное представление данных.............................................................................................309
Формы.......................................................................................................................................311
Глава 13. Разработка Web-серверных приложений.......................314
Компонент WebDispatcher....................................................................................................315
Web-операции..........................................................................................................................316
Параметр Response...............................................................................................................317
Параметр Request...............................................................................................................318
Операция /home.................................................................................................................518
Компонент PageProducer..........................................................................................................320
Операция /next....................................................................................................................321
Дескрипторы подстановки........................................................................................................322
Подключение к базе данных....................................................................................................323
Операция /full......................................................................................................................326
Компонент DalaSetTableProducer..............................................................................................326
Операция /dept....................................................................................................................330
Операция /search.................................................................................................................332
Компонент DataSetPageProducer..............................................................................................333
Данные о семье.........................................................................................................................334
Формирование страницы ответа...............................................................................................334
Операция /image.....................................................................................................................337
Глава 14. Разработка клиентских приложений.............................339
Приложение А. Основы синтаксиса языка Object Pascal................341
Общие синтаксические правила..........................................................................................341
Объявления типов, переменных и констант........................................................................342
Типы данных........................................................................................................................342
Целочисленные типы данных....................................................................................................342
Обобщенные типы.................................................................................................................342
Базовые типы.........................................................................................................................342
Типы чисел с плавающей запятой.............................................................................................342
Обобщенный тип.........................................................:.........................................................342
Базовые типы........................................................................................................................343
Символьные типы данных..........................................................................................................343
Булевы типы данных.................................................................................................................343
Перечислимые типы данных.....................................................................................................343
Подтипы....................................................................................................................................344
Строковые типы.........................................................................................................................344
Множества..............................................................................................................................345
Массивы...................................................................................................................................345
Статические массивы............................................................................................................345
Динамические массивы.........................................................................................................346
Записи......................................................................................................................................346
Типизированные файлы.........................................................................................................346
Классы.................................................................:....................................................................347
Тип данных Variant....................................................................................................................347
Вариантные массивы.............................................................................................................347
Операторы............................................................................................................................347
Порядок выполнения операторов..............................................................................................349
Функции и процедуры..........................................................................................................349
Объявление процедур и функций..............:...............................................................................349
Параметры...............................................................................................................................350
Значения по умолчанию.........................................................................................................350
Использование массивов в качестве параметров.................................................................351
Перегрузка процедур и функций...............................................................................................351
Операторы ветвления..........................................................................................................351
Оператор if................................................................................................................................351
Оператор case..........................................................................................................................352
Циклические структуры........................................................................................................352
Оператор for..............................................................................................................................352
Оператор while...do..................................................................................................................353
Оператор repeat...until..............................................................................................................353
Выход из циклов и процедур...............................................................................................353
Приложение Б. Соглашения......................................................354
Файлы.................................................................................................................................354
Компоненты..........................................................................................................................354
Вкладка Standard.......................................................................................................................355
Вкладка Additional......................................................................................................................355
Вкладка Win32...........................................................................................................................355
Вкладка Dialogs.........................................................................................................................356
Вкладка DataControls.................................................................................................................356
Вкладка dbExpress.....................................................................................................................356
Вкладка Internet........................................................................................................................357
Вкладка Rave.........................................................................................................................357
Вкладка ВDЕ.............................................................................................................................357
Идентификаторы..................................................................................................................357
Оформление исходного кода..............................................................................................358
Приложение В. Иерархия классов..............................................359
Приложение Г. Компоненты вкладок Standard, Additional и Win32....361
Вкладка Standard.................................................................................................................361
Вкладка Additional.................................................................................................................362
Вкладка Win32..................................................................................................................363
Приложение Д. Процедуры и функции........................................364
Арифметические..................................................................................................................364
Для работы с символами.....................................................................................................365
Функции для работы с параметрами приложения...............................................................365
Для работы с датами и временем.......................................................................................365
Диалоговые..........................................................................................................................369
Функции для работы с исключениями..................................................................................370
Для работы с файловой системой......................................................................................370
Для работы с вещественными числами................................................................................372
Преобразования..................................................................................................................372
Для работы с порядковыми значениями.............................................................................373
Для работы со случайными числами...................................................................................373
Процедуры для работы с множествами...............................................................................374
Статистические..................................................................................................................374
Для работы с обычными строками.....................................................................................374
Функции для работы со строками PChar.............................................................................377
Тригонометрические...........................................................................................................379
Ю.А. Шпак "Delphi 7 на примерах" 2003 г.