Delphi XE2 - Настоящее издание посвящено новейшей разработке компании Embarcadero - языку Delphi XE2. Книга предоставляет читателю не только полное описание одного из самых успешных языков программирования, но и уникальную методику, позволяющую проектировать профессиональное программное обеспечение для 32-х и 64-разрядной ОС Microsoft Windows и Mac OS X.
Название: Delphi XE2 Автор: Дмитрий Осипов Издательство: БХВ-Петербург Год: 2012 Страниц: 910 Формат: PDF Размер: 28,1 МБ ISBN: 978-5-9775-0825-4 Качество: Отличное Серия или Выпуск: В подлиннике Язык: Русский
В книге системно и последовательно излагаются: - основы языка программирования Delphi XE2: простые и структурные типы данных, операторы и выражения языка, процедуры и функции, концепция ООП, и др.; - методика разработки приложений для Win32 и Win64 на основе VCL и Win API: технология проектирования приложений для Windows, порядок работы с графикой, управление процессами, потоками и службами, приёмы проектирования сетевого ПО, механизм COM, порядок создания DLL и многое др.; - современные методы проектирования в Delphi XE2: кроссплатформенная библиотека FireMonkey, технология живого связывания LiveBindings, многоуровневые проекты DataSnap, механизм естественного ввода. Книгу отличает глубина и ясность изложения материала. Она окажется полезной как для начинающих программистов, которые найдут здесь все необходимое для самостоятельного проектирования прикладного и системного программного обеспечения, так и для подготовленных программистов, которые могут использовать книгу как справочник.
Содержание:
Введение Часть 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. Описание электронного архива Предметный указатель