Delphi XE2 (В подлиннике)

Delphi XE2 (В подлиннике)

Delphi XE2 (В подлиннике)

Автор: Дмитрий Леонидович Осипов
Дата выхода: 2012
Издательство: «БХВ-Петербург»
Количество страниц: 910
Размер файла: 34,4 МБ
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Введение
Часть I. Основы языка Delphi
Глава 1. Знакомство
Структура консольного приложения
Комментарии
Перевод листинга программы в машинные коды
Первая программа
Глава 2. Типы данных Delphi
Переменные
Константы
Строки-ресурсы
Правила объявления идентификаторов
Типы данных
Простые типы
Целые числа
Символьный тип
Логический тип
Перечисления
Диапазоны
Обслуживание данных порядкового типа
Действительные типы
Строковый тип
Указатели
Вариантный тип
Глава 3. Структурные типы
Множества
Записи
Вариантные поля
Усовершенствованная запись
Массивы
Объявление массива
Обращение к ячейкам массива
Динамический массив
Вариантные массивы
Глава 4. Операторы и выражения
Оператор присваивания
Арифметические операторы
Оператор конкатенации строк
Логические операторы
Операторы поразрядного сдвига
Операторы отношения
Операторы множеств
Составной оператор begin..end
Условный оператор if..then..else
Оператор-селектор case
Оператор перехода goto
Оператор with..do
Организация циклов
Цикл с параметром for..do
Инструкция in в цикле for..do
Цикл с предусловием while..do
Цикл с постусловием repeat..until
Вложенные циклы
Операторы break и continue
Глава 5. Процедуры и функции
Процедуры
Функции
Особенности передачи параметров
Директивы для процедур и функций
Перегрузка функций: директива overload
Опережающее объявление: директива forward
Внешнее объявление: директива external
Встроенная функция: директива inline
Рекурсивная функция
Процедурный тип данных
Анонимные функции
Глава 6. Файлы и каталоги
Типизированные файлы
Пример работы с типизированным файлом
Особенности удаления записей из больших файлов
Текстовые файлы
Двоичные файлы
Управление дисками, каталогами и файлами
Работа с дисками компьютера
Организация поиска каталогов и файлов
Проверка существования файла и каталога
Расположение системных каталогов
Создание, удаление, копирование и перемещение
Размер файла
Дата и время создания файла и каталога
Атрибуты файла и каталога
Глава 7. Концепция ООП
Основные понятия ООП
Абстрагирование
Инкапсуляция
Модульность
Наследование
Класс Delphi
Проектирование класса
Управление жизненным циклом объекта
Опережающее объявление класса
Ограничение видимости членов класса
Свойства объекта
Особенности объявления методов
Поля класса и методы класса
Иерархия наследования
Полиморфизм
Операторы класса
Аннотация класса
Создание и подключение атрибутов с аннотацией
Извлечение аннотации
Глава 8. Шаблоны
Обобщенный тип данных в полях записей
Обобщения в процедурах и функциях
Обобщенные типы данных в шаблонах классов
Наследование шаблона класса
Перегрузка методов с параметром обобщенного типа
Шаблон массива, класс TArray
Часть II. Платформа VCL
Глава 9. Опорные классы VCL
Класс TObject
Управление жизненным циклом объекта
Информирование о классе
Класс TPersistent
Основа компонента, класс TComponent
Владение компонентом
Глава 10. Массивы указателей, наборы строк и коллекции
Массив указателей, класс TList
Контейнер объектов, класс TObjectList
Контейнер компонентов, класс TComponentList
Наборы строк, класс TStrings
Редактирование списка и управление данными
Загрузка и сохранение строк
Объединение строк
Поиск строки и объекта
Обслуживание данных "параметр — значение"
Оптимизация производительности
Особенности класса TStringList
Коллекции
Элемент коллекции, класс TCollectionItem
Создание и уничтожение коллекции
Доступ к элементу коллекции
Манипуляции элементами коллекции
Поиск элемента коллекции
Сравнение коллекций
Глава 11. Классы потоков данных
Прототип потоков данных, класс TStream
Потоки с дескриптором, класс THandleStream
Файловый поток данных, класс TFileStream
Пример работы с файловым потоком данных
Потоки данных в памяти
Поток данных в памяти TMemoryStream
Поток байтов TBytesStream
Поток строк TStringStream
Поток с возможностью сжатия данных
Сжатие данных TZCompressionStream
Восстановление данных TZDecompressionStream
Глава 12. Визуальные элементы управления и класс TControl
Принадлежность к родительскому контейнеру
Размещение и размеры элемента управления
События, связанные с изменением размеров
Пересчет клиентских и экранных координат
Выравнивание элемента управления в контейнере
Видимость и активность элемента управления
Внешний вид
Вывод текста
Оперативная подсказка
Контекстное меню
Командный объект
Поддержка естественного ввода
Обработка событий мыши
Щелчки кнопками мыши
Перехват щелчков мыши
Перемещение указателя мыши
Вращение колесика мыши
Операция перетаскивания drag and drop
Пример реализации операции drag and drop
Глава 13. Оконные элементы управления и класс TWinControl
Дескриптор окна
Управление подчиненными элементами
Выравнивание подчиненных элементов
Фокус ввода
Обработка событий клавиатуры
Операция буксировки drag and dock
Буксировка программным способом
Глава 14. Приложение VCL
Приложение VCL, класс TApplication
Оконная процедура
Общие возможности Application
Доступ к основным объектам приложения
Обработка поступающих сообщений
Управление процессом создания приложения
Завершение работы приложения
Сворачивание и восстановление размеров окна приложения
Диалоговое окно приложения
Осуществление оперативной подсказки
Подключение к справочной системе
События приложения, класс TApplicationEvents
Значок в области уведомлений
Пример работы с компонентом TTrayIcon
Стили оформления приложения
Менеджер стилей TStyleManager
Утилита создания стилей оформления
Глава 15. Форма, фрейм и модуль данных
Форма проекта VCL, класс TForm
Описание формы в dfm-файле
Стиль, поведение и оформление формы
Состояние формы
Создание, отображение и уничтожение форм
Вывод формы в модальном режиме
Закрытие формы
Уничтожение формы
Подключение меню
Фокус ввода
Полосы прокрутки
Особенности графического вывода формы
Выбор монитора для вывода формы
Масштабирование шрифта
Эффект прозрачности
Дескрипторы окна
Прикрепление формы к границам экрана
Обработка событий формы
Жизненный цикл формы
Нажатие быстрых клавиш
Пользовательские интерфейсы SDI и MDI
Особенности проекта MDI
Фрейм TFrame
Создание простого фрейма
Диалоги-помощники на основе фреймов
Модуль данных TDataModule
Глава 16. Исключительные ситуации
Защищенные от ошибок секции
Конструкция try..except
Конструкция try..finally
Вложенные конструкции try
Объектная модель исключительных ситуаций
Базовый класс Exception исключительной ситуации
Тихая исключительная ситуация EAbort
Исключительная ситуация отладки EAssertionFailed
Определение новых классов ИС
Расширенные возможности try..except
Централизованная обработка ошибок в приложении
Настройка поведения Delphi при обработке исключительных ситуаций
Глава 17. Компоненты отображения и редактирования текста
Компоненты отображения текста
Метка TLabel
Статический текст TStaticText
Метка-ссылка TLinkLabel
Компоненты редактирования текста
Основа текстовых редакторов, класс TCustomEdit
Ограничения на ввод
Выделение части текста
Взаимодействие с буфером обмена
Отмена изменений
Строка ввода TEdit
Строка ввода с кнопками TButtonedEdit
Строка ввода с меткой TLabeledEdit
Строка ввода с маской TMaskEdit
Многострочный текстовый редактор TMemo
Редактор расширенного текстового формата TRichEdit
Форматирование абзаца — класс TParaAttributes
Атрибуты текста — класс TTextAttributes
Особенности обработки событий
Глава 18. Кнопки и компоненты выбора значений
Кнопка TButton
Кнопка с рисунком TBitBtn
Кнопка-флажок TCheckBox
Кнопки изменения значения TUpDown
Кнопка выбора TRadioButton
Группа переключателей TRadioGroup
Группа кнопок TButtonGroup
Категории кнопок TCategoryButtons
Глава 19. Меню приложения
Опорный класс меню TMenu
Главное меню TMainMenu
Контекстное меню TPopupMenu
Элемент меню TMenuItem
Элемент меню в виде флажка
Элементы меню в виде группы выбора
Родительские и дочерние элементы меню
Присвоение элементам меню значков
Динамическое создание элементов меню
Удаление элементов меню
Элементы-разделители
Особенности прорисовки пункта меню
Глава 20. Управление приложением с помощью команд
Команда TAction
Связь с элементом управления
Выполнение команды
Установка в актуальное состояние
Связь команды с контейнером
Менеджеры команд
Общие черты менеджеров команд
Список команд TActionList
Менеджер команд TActionManager
Командные панели
Класс TActionClientItem
Опорный класс командных панелей TCustomActionBar
Панель главного меню TActionMainMenuBar
Инструментальная панель TActionToolBar
Контекстное командное меню TPopupActionBar
Настройка интерфейса во время выполнения приложения, диалог TCustomizeDlg
Редактор "горячих" клавиш THotKey
Глава 21. Списки
Опорный класс списков TCustomListControl
Общие черты списков, список TListBox
Замедление перебора элементов списка
Особенности обработки событий
Список с флажками выбора TCheckListBox
Список выбора цвета TColorListBox
Комбинированные списки, TComboBox
Улучшенный комбинированный список TComboBoxEx
Список просмотра TListView
Стиль представления данных
Особенности работы списка со стилем vsReport
Колонка TListColumn
Коллекция элементов списка TListItems
Элемент списка TListItem
Редактирование заголовка элемента
Выбор элементов списка
Упорядочивание элементов
Поиск элементов
Группировка элементов
Операции перерисовки
Пример работы с TListView
Глава 22. Сетки
Общие черты сеток, сетка TDrawGrid
Адресация ячейки
Обработка событий
Расширенные возможности по оформлению сетки
Сетка строк TStringGrid
Редактор списка значений TValueListEditor
Глава 23. Иерархические данные и компонент TTreeView
Сохранение и загрузка дерева
Выбор узла в дереве
Одновременный выбор нескольких узлов
Узел дерева TTreeNode
Положение узла в дереве
Родительские узлы
Дочерние узлы
Методы перехода между узлами дерева
Перемещение узла
Удаление узла
Значок узла
Свертывание и развертывание узла
Хранилище узлов класс TTreeNodes
Добавление узлов
Сортировка узлов
Удаление узлов из коллекции
Редактирование текста узла
Оформление дерева
Глава 24. Панели-контейнеры
Простые панели
Простая панель TPanel
Панель TFlowPanel
Панель-сетка TGridPanel
Область группировки TGroupBox
Контейнеры с возможностью скроллинга
Область с полосами прокрутки TScrollBox
Страница с кнопками прокрутки TPageScroller
Разделитель панелей, компонент TSplitter
Глава 25. Инструментальные планки
Инструментальная планка TToolBar
Кнопка TToolButton
Управление кнопками
Пользовательские настройки
Оформление
Планка TCoolBar
Дочерняя полоса TCoolBar
Планка управления TControlBar
Панель состояния TStatusBar
Глава 26. Наборы закладок и блокноты
Набор закладок, TTabControl
Закладки TTabSet и TDockTabSet
Блокнот TPageControl
Страница блокнота TTabSheet
Глава 27. Работа с датой и временем
Отсчет времени, таймер TTimer
Компоненты-календари, базовый класс TCommonCalendar
Календарь TMonthCalendar
Выбор даты/времени, компонент TDateTimePicker
Глава 28. Диалоговые окна
Окна вывода сообщений
Окна выбора действия
Создание многоразового окна выбора действия
Окна ввода данных
Окна выбора файлов и папок
Компоненты-диалоги
Диалоги открытия и сохранения файлов
Универсальные диалоги TOpenDialog и TSaveDialog
Особенности графических диалогов TOpenPictureDialog и TSavePictureDialog
Особенности текстовых диалогов TOpenTextFileDialog и TSaveTextFileDialog
Диалоги поиска и замены текста
Выбор шрифта TFontDialog
Выбор цвета TColorDialog
Параметры страницы TPageSetupDialog
Настройка печати TPrinterSetupDialog
Отправка задания на печать TPrintDialog
Диалог управления задачей TTaskDialog
Глава 29. Технология естественного ввода
Описание жеста
Реакция элементов управления на жест
Пример обработки стандартных жестов
Компоненты поддержки естественного ввода
Менеджер жестов TGestureManager
Доступ к жестам и их сохранение
Просмотр жестов, TGestureListView и TGesturePreview
Область ввода жеста TGestureRecorder
Виртуальная клавиатура TTouchKeyboard
Глава 30. Управление графическим выводом
Получение сведений об устройствах видеовывода
Изменение настроек дисплея
Исследование текущего состояния устройства
Взаимодействие с экраном, класс TScreen
Информация о рабочем столе
Управление видом указателя мыши
Информация о шрифтах системы
Информация о формах проекта
Информация об устройствах видеовывода
Реакция на события
Взаимодействие с дисплеем, класс TMonitor
Глава 31. Холст TCanvas
Представление цвета
Кисть TBrush
Перо TPen
Шрифт TFont
Холст TCanvas в VCL
Закраска области
Градиентная заливка
Графические примитивы
Линии
Простейшие геометрические фигуры
Дуги
Сплайн Безье
Копирование части холста
Глава 32. Растровая и векторная графика
Абстрактный базовый класс TGraphic
Значок TIcon
Формат BMP, класс TBitmap
Формат JPEG, класс TJPEGImage
Формат GIF, класс TGifImage
Управление фреймами рисунка GIF
Оптимизация рисунка GIF
Обработка событий
Формат PNG, класс TPngImage
Векторная графика, метафайл TMetaFile
Холст метафайла TMetafileCanvas
Универсальный контейнер TPicture
Универсальный контейнер TWICImage
Коллекция изображений TImageList
Загрузка образов в контейнер
Особенности отображения значков
Прозрачность
Экспорт значков из контейнера
Глава 33. Сложные графические задачи
Растровые операции
Управление прозрачностью
Системы координат и режимы отображения
Перенос начала координат
Управление страничными координатами
Мировые координаты и аффинные преобразования
Глава 34. Управление печатью
Описание принтера в Delphi, класс TPrinter
Выбор принтера
Управление страницей документа
Формирование и отправка задания на печать
Отмена задания
Печать многострочного текста
Особенности печати изображений
Пример печати изображений
Окно предварительного просмотра
Отправка задания на печать
Часть III. VCL и Windows API
Глава 35. Реестр Windows
Класс TRegistryIniFile
Чтение из реестра
Запись в реестр
Удаление подраздела
Пример
Класс TRegistry
Создание и уничтожение экземпляра реестра
Работа с удаленным реестром
Доступ к разделам реестра
Чтение и запись значений в параметры
Получение информации о разделе
Получение сведений о параметре
Экспорт и импорт разделов реестра
Глава 36. Управление процессами
Создание процесса
Доступ к процессу
Приоритет процесса
Время выполнения процесса
Завершение процесса
Сбор информации о процессах Windows
Получение сведений о версии ОС
Глава 37. Многопоточные приложения
Поток TThread
Метод ожидания
Управление приоритетом потока
Время выполнения потока
Синхронный и асинхронный вызовы внешнего метода
Пример многопоточного приложения
Синхронизация потоков
Синхронизация событием TEvent
Критическая секция TCriticalSection
Мьютекс TMutex
Семафор TSemaphore
Глава 38. Взаимодействие процессов
Обмен данными через буфер обмена
Регистрация пользовательского формата буфера обмена
Обмен сообщениями
Поиск окна
Регистрация пользовательских сообщений
Пример обмена сообщениями между процессами
Файловое отображение
Глава 39. Сетевое взаимодействие
Почтовые слоты
Определение имени почтового слота
Управление почтовым слотом
Получение и отправка корреспонденции
Пример почтового приложения
Именованные каналы
Определение имени именованного канала
Создание именованного канала
Управление соединением с клиентом
Состояние канала
Подключение к каналу клиентского приложения
Разработка класса сервера именованного канала
Разработка класса клиента именованного канала
Сокеты
Классы сокетов в VCL
Общие черты сокетов, опорный класс TIPSocket
Отправка и получение данных
Сервер, компонент TTCPServer
Клиенты, компоненты TTCPClient и TUDPSocket
Пример приложения
Сокет-клиент
Сокет-сервер
Глава 40. Сервисы Windows
Менеджер управления сервисами
Управление сервисом
Состояние службы
Конфигурирование службы
Удаление службы
Сервис в VCL, класс TService
Идентификация
Тип сервиса
Определение прав на управление сервисом
Загрузка и запуск службы
Статус службы
Сбои при старте сервиса
Остановка и возобновление службы
Инсталляция и деинсталляция сервиса
Выполнение службы, поток TServiceThread
Ведение протокола службы
Приложение-сервис TServiceApplication
Пример
Регистрация сервиса в ручном режиме
Апплеты Панели управления
Апплет Панели управления, класс TAppletModule
Приложение Панели управления TAppletApplication
Пример апплета управления сервисом Windows
Приложение управления сервисом
Апплет Панели управления
Глава 41. Динамически подключаемые библиотеки
Создание проекта DLL
Объявление и экспорт функций в DLL
Соглашение о вызовах
Пример экспорта функций
Пример хранения форм в библиотеке
Вызов библиотеки из приложения
Неявное подключение DLL
Явное подключение DLL
Глава 42. Многокомпонентная модель COM
COM-объект
Понятие интерфейса
Базовый интерфейс IUnknown
Реализация интерфейса
Порядок вызова сервера COM
Интерфейс IClassFactory и библиотека COM
Реализация фабрики класса, класс TComObjectFactory
Реализация COM-объекта в Delphi
Класс TComObject
Класс TTypedComObject
Класс TComServer
Пример COM-проекта
COM-сервер
Помощник настройки COM-объекта
Шаблон кода с описанием класса
Библиотека типов
Главная форма сервера
Регистрация сервера
COM-клиент
Импорт библиотеки типов
Обращение к COM-объекту
Глава 43. Автоматизация
Интерфейс IDispatch
Диспинтерфейсы и дуальные интерфейсы
Контроллер автоматизации без применения библиотеки типов
Контроллер автоматизации с поддержкой библиотеки типов
Сервер автоматизации, базовый класс TAutoObject
Регистрация сервера автоматизации в таблице ROT
События автоматизации
Фабрика класса объекта автоматизации
Пример проекта автоматизации с поддержкой событий
Сервер автоматизации
Клиент автоматизации
Глава 44. Интерфейс IShellFolder
Идентификация объекта Shell
Диалоговое окно получения PIDL
Получение пути к системным папкам
Интерфейс IShellFolder
Получение PIDL из файлового пути
Получение интерфейса дочерней папки
Получение названия объекта по PIDL
Изменение названия объекта
Сбор дочерних объектов папки, интерфейс IEnumIDList
Атрибуты объекта
Сравнение объектов папки
Глава 45. DataSnap
Архитектура проекта DataSnap
Компоненты сервера
Сервер TDSServer
Обработка событий
Класс сервера TDSServerClass
Транспортные компоненты TDSTCPServerTransport и TDSHTTPService
Менеджер аутентификации TDSAuthenticationManager
Компоненты клиента
Соединение TSQLConnection
Проект DataSnap с использованием мастера
Подготовка клиентского приложения
Создание нового метода на сервере DataSnap
Доступ к новому методу из клиентского приложения
Проект DataSnap на основе пользовательского класса
Сервер
Клиент
Механизм обратного вызова
Глава 46. LiveBindings
Вводный пример LiveBindings
Класс TBindExpression
Выражение LiveBindings
Программная связь, класс TBindings
Часть IV. FireMonkey
Глава 47. Платформа FireMonkey
Опорный класс TFmxObject
Создание и уничтожение экземпляра класса
Сохранение объекта в памяти
Управление дочерними объектами
Сопоставление дополнительных данных
Элемент управления FMX — класс TControl
Размещение и выравнивание элемента управления
Выравнивание объекта
Масштабирование и вращение объекта
Видимость и прозрачность элемента управления
Обработка событий
Простейшие события — щелчок
Клавиатурные события
События мыши
События получения и утраты фокуса ввода
Событие изменения размера
События перетаскивания drag and drop
Особенности прорисовки элемента управления
Глава 48. Приложение FireMonkey
Выбор целевой платформы для проекта
Приложение FMX.Forms.TApplication
Общие черты форм HD и 3D
Форма HD FMX.Forms.TForm
Стили оформления формы, компонент TStyleBook
Трехмерная форма FMX.Forms.TForm3D
Пример 3D-проекта
Глава 49. Обзор компонентов для проектов HD
Панель-выноска TCalloutPanel
Разворачивающаяся панель TExpander
Компонент TArcDial
Компонент TNumberBox
Компонент TComboTrackBar
Компонент TPopupBox
Сетки TGrid и TStringGrid
Глава 50. Анимация
Анимация
Простой пример анимации
Общие черты компонентов-аниматоров, класс TAnimation
Индивидуальные особенности компонентов-аниматоров
Цветовая анимация, компонент TColorAnimation
Градиентная анимация, компонент TGradientAnimation
Анимированная картинка, компонент TBitmapAnimation
Анимированный ряд, компонент TBitmapListAnimation
Анимация числовых свойств, компонент TFloatAnimation
Анимация прямоугольной области, компонент TRectAnimation
Анимация траектории, компонент TPathAnimation
Управление графической производительностью
Приложения
Приложение 1. Математика, статистика и тригонометрия
Приложение 2. Работа со строками и символами
Системные настройки форматирования и класс TFormatSettings
Приложение 3. Работа с датой и временем
Представление даты и времени в текстовом формате
Приложение 4. Работа с памятью
Приложение 5. Управление ходом выполнения программы
Приложение 6. Работа с именами папок и файлов
Приложение 7. Модуль IOUtils
Приложение 8. Константы CSIDL
Приложение 9. Холст FMX.Types.TCanvas
Управление холстом
Кисть FMX.Types.TBrush
Внешний вид линий
Шрифт FMX.Types.TFont
Заливка замкнутых областей
Вывод простейших фигур
Вывод текста
Отображение рисунков
Отсечение
Сохранение и восстановление состояния холста
Приложение 10. Описание электронного архива
Предметный указатель

Настоящее издание посвящено новейшей разработке компании Embarcadero - языку Delphi XE2. Книга предоставляет читателю не только полное описание одного из самых успешных языков программирования, но и уникальную методику, позволяющую проектировать профессиональное программное обеспечение для 32-х и 64-разрядной ОС Microsoft Windows и Mac OS X. В книге системно и последовательно излагаются:

  • основы языка программирования Delphi XE2: простые и структурные типы данных, операторы и выражения языка, процедуры и функции, концепция ООП, и др.;
  • методика разработки приложений для Win32 и Win64 на основе VCL и Win API: технология проектирования приложений для Windows, порядок работы с графикой, управление процессами, потоками и службами, приёмы проектирования сетевого ПО, механизм COM, порядок создания DLL и многое др.;
  • современные методы проектирования в Delphi XE2: кроссплатформенная библиотека FireMonkey, технология живого связывания LiveBindings, многоуровневые проекты DataSnap, механизм естественного ввода.

 Книгу отличает глубина и ясность изложения материала. Она окажется полезной как для начинающих программистов, которые найдут здесь все необходимое для самостоятельного проектирования прикладного и системного программного обеспечения, так и для подготовленных программистов, которые могут использовать книгу как справочник.


Похожее: