- Delphi. Профессиональное программирование.
- Год: 2006
Автор: Дмитрий Осипов
Издательство: Символ-Плюс
ISBN: 5-93286-074-X
Язык: русский
Формат: PDF
Качество: изначально компьютерное (eBook)
Количество страниц: 1056 -
- Книга Д.Осипова "Delphi. Профессиональное программирование" принципиально отличается от стандартных изданий на эту тему. Это и не скороспелое "полное" руководство по очередной версии Borland® Delphi™, и не рядовой справочник, содержащий перевод файлов помощи к среде программирования. Идея книги в другом. Автор системно и последовательно излагает концепцию Delphi, предоставляя читателю не просто инструмент, а профессиональную методику, позволяющую разрабатывать эффективные приложения для Windows.Книга рассчитана на подготовленного пользователя ПК, желающего самостоятельно научиться программировать и разрабатывать приложения и базы данных в среде Delphi. Опытные программисты смогут использовать издание как справочник. В тексте подробно описаны более 80 компонентов VCL, функции Object Pascal и Win32 API. В первой части книги излагаются основы языка программирования Delphi, подробно рассматриваются библиотека визуальных компонентов и процесс разработки собственных компонентов, изучаются динамически подключаемые библиотеки, процессы, многопоточные приложения, особенности межпрограммного взаимодействия, программирование на Win32 API, особенности построения сетевого программного обеспечения, технологии СОМ и OLE-automation. Вторая часть книги посвящена проектированию и созданию реляционных баз данных. Рассматриваются реляционная модель данных и язык SQL, изучаются компоненты доступа к данным и отображения данных, базирующиеся на механизмах BDE, ADO и InterBase.При подготовке примеров сознательно исключалось построение громоздкого проекта, переходящего из главы в главу. Напротив, листинги поясняющих программ максимально сжаты. Как правило, текст исходного кода не превышает 10-12 строк. Такой подход позволяет подготовленному программисту изучать предлагаемый материал в устраивающей его последовательности, а начинающему программисту удерживать нить рассуждений, избегая необходимости возвращаться на несколько глав назад для того, чтобы вспомнить "с чего все начиналось".ОглавлениеВведение............................................................... 11Часть I. Программирование для Windows в среде Delphi1. Язык программирования Pascal........................................ 14Простейшая программа на Object Pascal................................... 15Основные типы данных...................................................19Операторы и выражения .................................................35Резюме..................................................................432. Процедуры и функции .................................................44Процедуры..............................................................44Функции................................................................45Особенности объявления и передачи параметров...........................46Перегрузка методов......................................................49Структура программного модуля стандартного проекта Delphi...............49Резюме.................................................................. 51Приложение 1: файлы проекта Delphi..................................... 51Приложение 2: русификация консольных приложений..................... 523. Базовые функции Delphi................................................ 55Математические функции и процедуры.................................... 55Функции проверки вхождения значения в диапазон........................ 56Тригонометрические функции и процедуры................................ 57Финансовые функции и процедуры........................................58Статистические функции и процедуры....................................59Процедуры и функции для работы со строками типа AnsiString.............61Процедуры и функции для работы со строками типа PChar..................65Работа с памятью........................................................68Процедуры управления ходом выполнения программы.....................69Разные функции......................................................... 70Резюме.................................................................. 714. Основы работы с файлами.............................................72Классификация типов файлов............................................ 73Низкоуровневые методы работы с файлами................................89Управление файлами, дисками и каталогами..............................91Резюме.................................................................1015. Введение в объектно-ориентированное программирование..........102Объект и класс..........................................................103Инкапсуляция..........................................................107Наследование...........................................................109Полиморфизм..........................................................111Программирование, управляемое событиями.............................112Резюме.................................................................1126. Невидимые классы....................................................113Основа основ - класс TObject.............................................115Класс TPersistent.......................................................119Поток - TStream........................................................120Основа компонента - класс TComponent..................................121Элемент управления - класс TControl ....................................125Оконный элемент управления - класс TWinControl........................132Обработка событий в классах TControl и TWinControl......................136Основа графических элементов управления - класс TGraphicControl........147Резюме.................................................................1487. Списки и коллекции................................................... 149Набор строк - TStrings.................................................. 150Список - TList.......................................................... 152Список строк - TStringList.............................................. 154Список объектов - класс TObjectList...................................... 155Список компонентов - класс TComponentList............................. 157Коллекция - класс TCollection........................................... 157Резюме................................................................. 1618. Стандартные компоненты.............................................162Компоненты для редактирования текста..................................162Кнопки................................................................172Элементы управления - списки..........................................179Сетки..................................................................187Меню..................................................................195Резюме.................................................................2079. Форма, интерфейсы SDI и MDI.........................................208Форма - TForm.........................................................208Интерфейсы SDI и MDI..................................................222Приложение - класс TApplication........................................227Особенности обработки событий в приложениии компонент TApplicationEvents.........................................235Экран - класс TScreen...................................................235Резюме.................................................................23810. Графическая подсистема..............................................239Представление цвета в Windows..........................................240Перо - класс TPen.......................................................241Кисть - класс TBrush....................................................243Шрифт - класс TFont....................................................244Холст - класс TCanvas...................................................246Класс TGraphic.........................................................254Пиктограмма - класс TIcon..............................................257Растровое изображение - класс TBitmap..................................258Метафайл - класс TMetafile..............................................261Класс TJPEGImage......................................................263Универсальное хранилище изображений - класс TPicture..................265Графические компоненты VCL...........................................266Работа с графикой методами Win32 API..................................270Резюме.................................................................28011. Компоненты Win32 .................................................... 281Список закладок - TTabControl..........................................281Блокнот - компонент TPageControl.......................................285Иерархическая структура - TTreeView...................................287Графический список - TListView.........................................302Панель инструментов - TToolBar.........................................313Панель состояния - TStatusBar..........................................318Линейка - TCoolBar.....................................................321Полоса управления - TControlBar........................................323Шкала - TTrackBar.....................................................326Резюме.................................................................32712. Для тех, кто ценит секунды............................................328Представление даты и времени в Delphi...................................328Процедуры и функции для работы с датой и временем.....................329Функции конвертирования даты и времени в другие типы данных..........331Форматирование даты и времени.........................................332Операционная система и таймер..........................................334Таймер - компонент TTimer.............................................336Компоненты-календари - базовый класс TCommonCalendar................337Резюме.................................................................34113. Работа с файлами инициализации и реестром Windows...............342Файл инициализации - класс TIniFile....................................342Реестр Windows.........................................................346Низкоуровневый доступ к реестру - класс TRegistry.......................349Резюме.................................................................35514. Диалог с Microsoft® Windows®.........................................356Диалоговые окна сообщений.............................................356Диалог выбора каталога.................................................362Диалоги доступа к базе данных..........................................363Стандартные диалоговые окна Windows..................................363Резюме.................................................................38115. Обработка исключительных ситуаций.................................382Защищенные от ошибок секции..........................................383Исключительные ситуации библиотеки VCL - класс Exception.............386Принудительный вызов ИС - команда Raise ..............................393Расширенные возможности конструкции try .. except......................394Обработка ИС в рамках события OnException приложения TApplication.....395Настройка поведения Delphi при обработке ИС............................397Резюме.................................................................39816. Создание компонентов................................................399Выбор предка...........................................................400Эксперт компонентов....................................................401Шаблон кода компонента................................................401Создание свойств.......................................................402Создание методов.......................................................414Создание событий.......................................................423Пиктограмма компонента...............................................427Подключение файла справки к компоненту...............................428Резюме.................................................................42917. Централизованное управление приложением.........................430Команда - класс TAction................................................431Компоненты-контейнеры для командных объектов........................436Список команд - класс TActionList.......................................438Менеджер команд - класс TActionManager................................439Менеджер команд и компоненты пользовательского интерфейса............446Резюме.................................................................45418. Построение диаграмм.................................................455Компонент TChart......................................................455Резюме.................................................................47719. Динамически подключаемые библиотеки.............................478Назначение DLL........................................................478Создание шаблона динамической библиотеки в Delphi.....................481Взаимодействие динамической библиотеки с проектом....................489Создание библиотеки ресурсов...........................................494Анализ DLL............................................................495Резюме.................................................................49620. Процессы и потоки в среде Windows...................................497Процессы и многозадачность.............................................497Понятие потока, многопоточность........................................507Элементарный поток - класс TThread ....................................508Пример простого многопоточного приложения............................513Синхронизация процессов и потоков.....................................517Резюме.................................................................52721. Службы Microsoft Windows NT.........................................528Администрирование служб в Windows NT................................528Управление службами из внешних приложений...........................529Инкапсуляция системной службы в VCL - класс TService..................538Приложение-служба - класс TServiceApplication..........................547Пример проекта службы.................................................548Советы по отладке системной службы....................................549Резюме.................................................................55022. Обмен данными между процессами...................................551Буфер обмена - класс TClipboard.........................................551Обмен сообщениями между процессами...................................559Динамический обмен данными...........................................563Файлы, отображаемые в память..........................................577Резюме.................................................................58023. Обмен данными в сети................................................581Модель взаимодействия открытых систем................................582Почтовые слоты ........................................................583Место класса THandleStream в обеспечении сетевого обмена данными.......587Введение в Network DDE ................................................590Каналы................................................................591Интерфейс сокетов......................................................604Реализация интерфейса WinSock в VCL...................................607Пример проекта WinSock для сети интранет..............................618Сокет - TRawSocket.....................................................623Резюме.................................................................62324. Многокомпонентная модель объектов (COM).........................624Элементы COM-приложения.............................................625COM-объект............................................................626Интерфейс.............................................................628Порядок вызова сервера клиентским приложением........................631Реализация COM-объекта в Delphi - класс TComObject.....................636Пример COM-проекта...................................................636Резюме.................................................................647Приложение: редактор библиотеки типов.................................64725. Сотрудничество с Microsoft® Office.....................................650Интерфейс IDispatch....................................................651Инициализация и деинициализация объекта автоматизации...............652Коллекция объектов....................................................653Текстовый процессор Microsoft® Word....................................655Пример универсального генератора отчетов...............................674Электронные таблицы Microsoft® Excel...................................676Пример универсального генератора отчетов (продолжение).................692Резюме.................................................................69326. Связывание и внедрение объектов - технология OLE..................694Место OLE-серверов в реестре Windows...................................694OLE-контейнер - компонент TOLEContainer..............................696Пример приложения OLE-контейнера....................................702Резюме.................................................................70627. Программирование на Win32 API......................................707Создание приложения без применения VCL...............................708Получение информации о системе........................................719Запуск программ........................................................723Завершение работы.....................................................724Резюме.................................................................72528. Создание апплетов панели управления................................726Стандартные апплеты панели управления Windows .......................727Апплет панели управления - класс TAppletModule........................728Приложение панели управления - класс TAppletApplication...............729Пример апплета панели управления......................................731Регистрация апплета панели управления.................................732Резюме.................................................................73229. Пространство имен оболочки Windows................................733Идентификация объекта оболочки.......................................734Интерфейс папки - IShellFolder..........................................740Резюме.................................................................74730. Мультимедиа.........................................................748Проигрыватель мультимедиа - компонент TMediaPlayer...................748Воспроизведение звука средствами Win32 API............................757Резюме.................................................................758Часть II. Разработка баз данных в среде Delphi31. Реляционная модель данных..........................................759Ключевые термины реляционной базы данных............................763Этапы проектирования базы данных.....................................764Нормализация данных..................................................766Модель данных «сущность-связь».......................................772Правила выбора первичного ключа.......................................774Индексирование таблиц.................................................775Представление (вид)....................................................776Хранимая процедура....................................................777Триггер................................................................777Транзакции и управление их выполнением...............................778Резюме.................................................................78132. Структурированный язык запросов - SQL..............................782Назначение и состав языка SQL..........................................783Основные типы данных SQL-92 .......................................... 784Язык определения данных - DDL........................................788Язык запросов - DQL....................................................795Язык манипулирования данными - DML.................................803Язык управления доступа к данным - DCL................................805Язык обработки транзакций - TPL.......................................806Язык управления курсором - CCL........................................807Резюме.................................................................80833. Универсальный набор данных - класс TDataSet........................809Открытие и закрытие набора данных.....................................810Обновление набора данных..............................................811Перемещение по набору данных..........................................812Создание закладок и переход к закладке..................................814Состояние набора данных................................................814Редактирование записей в наборе........................................816Организация доступа к отдельному полю.................................818Фильтрация набора данных..............................................821Организация поиска данных.............................................822Обработка событий......................................................824Кэширование данных...................................................825Взаимодействие с элементами управления данными.......................825Поддержка таблиц символов OEM и ANSI.................................826Резюме.................................................................82634. Работа с полями набора данных.......................................827Поле таблицы - класс TField.............................................827Числовые поля - класс TNumericField....................................850Текстовые поля - TStringField...........................................853Логическое поле - TBooleanField.........................................855Бинарные поля - TBinaryField, TBytesField и TVarBytesField ..............855Дата и время - поля TDateTimeField, TDateField и TTimeField..............855Дата и время - поле TSQLTimeStampField.................................856Поля больших двоичных объектов - TBlobField,TGraphicField и TMemoField.............................................856Резюме.................................................................86135. Применение механизма BDE для доступа к данным...................862Введение в Borland Database Engine......................................862Компоненты доступа к данным BDE......................................864Набор данных BDE - класс TBDEDataSet.................................865Соединение с объектом данных - класс TDBDataSet.......................872Таблица - TTable........................................................874Импорт данных - TBatchMove...........................................891Запрос - TQuery........................................................893Хранимая процедура - TStoredProc......................................897Модифицируемый запрос - компонент TUpdateSQL.......................899Резюме.................................................................90236. Элементы управления для работы с данными.........................903Источник данных - компонент TDataSource ..............................904Общие черты компонентов отображения данных..........................905Сетка базы данных - компонент TDBGrid.................................906Статический текст БД - компонент TDBText..............................916Строка ввода БД - компонент TDBEdit....................................917Многострочный текстовый редактор БД - TDBMemo.......................917Редактор расширенного формата БД - TDBRichEdit.......................918Изображение БД - компонент TDBImage .................................918Список БД - компонент TDBListBox......................................919Комбинированный список БД - TDBComboBox............................919Флажок БД - компонент TDBCheckBox...................................919Группа переключателей БД - компонент TDBRadioGroup..................920Компонент TDBCtrlGrid.................................................920Синхронный просмотр данных...........................................923Навигатор - компонент TDBNavigator....................................925Резюме.................................................................92637. Элементы управления для работы с данными II .......................927Компоненты-списки....................................................927Графический список - компонент TListView..............................929Сетка - компонент TStringGrid..........................................931Иерархические данные..................................................933Пример проекта иерархической БД.......................................935Резюме.................................................................94438. Место BDE в клиент-серверных приложениях.........................945Сессия - класс TSession..................................................946Список сессий - TSessionList.............................................954База данных - класс TDatabase...........................................955Резюме.................................................................96139. Технология объектов данных ADO.....................................962Связь между объектной моделью Microsoft ADO и библиотекой VCL........963Строка соединения ADO.................................................967Соединение с источником данных ADO - компонент TADOConnection.......968Набор данных ADO - класс TCustomADODataSet,компонент TADODataSet................................................979Командный объект ADO - TADOCommand................................992Таблица, запрос и хранимая процедура - компонентыTADOTable, TADOQuery и TADOStoredProc...............................993Сервисные методы модуля ADODB.......................................994Резюме.................................................................99640. Компоненты InterBase.................................................997Доступ к базе данных InterBase - компонент TIBDatabase..................997Элементарный запрос - компонент TIBSQL..............................1005Экспорт и импорт данных..............................................1007Характеристики наборов данных InterBase - компонент TIBDataSet.......1009Запрос - компонент TIBQuery...........................................1015Хранимая процедура - компонент TIBStoredProc.........................1015Таблица - компонент TIBTable..........................................1015Транзакция - компонент TIBTransaction................................1016Модифицируемый запрос InterBase - компонент TIBUpdateSQL...........1019Информация об объектах БД - компонент TIBExtract.....................1020События InterBase - компонент TIBEvents...............................1022Информация о БД - компонент TIBDatabaseInfo..........................1023Резюме................................................................1024Заключение..........................................................1025Литература...........................................................1026Алфавитный указатель...............................................1028