Оглавление....3
Введение....19
часть I....21
Основы языка Delphi....21
Глава 1. Знакомство....23
Структура консольного приложения....24
Комментарии....25
Перевод листинга программы в машинные коды....26
Первая программа....28
Глава 2 . Типы данных Delphi....29
Переменные....29
Константы....31
Строки-ресурсы....31
Правила объявления идентификаторов....32
Типы данных....32
Простые типы....34
Целые числа....34
Символьный тип....34
Логический тип....35
Перечисления....36
Диапазоны....37
Обслуживание данных порядкового типа....37
Действительные типы....38
Строковый тип....39
Указатели....40
Вариантный тип....42
Глава 3 . Структурные типы....43
Множества....44
Записи....45
Вариантные поля....47
Усовершенствованная запись....48
Массивы....49
Объявление массива....50
Обращение к ячейкам массива....50
Динамический массив....51
Вариантные массивы....52
Глава 4 . Операторы и выражения....54
Оператор присваивания....54
Арифметические операторы....54
Оператор конкатенации строк....55
Логические операторы....56
Операторы поразрядного сдвига....57
Операторы отношения....58
Операторы множеств....58
Составной оператор begin..end....59
Условный оператор if..then..else....60
Оператор-селектор case....61
Оператор перехода goto....63
Оператор with..do....63
Организация циклов....64
Цикл с параметром for..do....64
Инструкция in в цикле for..do....66
Цикл с предусловием while..do....66
Цикл с постусловием repeat..until....67
Вложенные циклы....67
Операторы break и continue....68
Глава 5 . Процедуры и функции....70
Процедуры....71
Функции....73
Особенности передачи параметров....76
Директивы для процедур и функций....80
Перегрузка функций: директива overload....80
Опережающее объявление: директива forward....81
Внешнее объявление: директива external....83
Встроенная функция: директива inline....83
Рекурсивная функция....83
Процедурный тип данных....84
Анонимные функции....84
Глава 6 . Файлы и каталоги....86
Типизированные файлы....86
Пример работы с типизированным файлом....90
Особенности удаления записей из больших файлов....94
Текстовые файлы....95
Двоичные файлы....97
Управление дисками, каталогами и файлами....98
Работа с дисками компьютера....99
Организация поиска каталогов и файлов....101
Проверка существования файла и каталога....103
Расположение системных каталогов....103
Создание, удаление, копирование и перемещение....104
Размер файла....105
Дата и время создания файла и каталога....106
Атрибуты файла и каталога....107
Глава 7 . Концепция ООП....108
Основные понятия ООП....108
Абстрагирование....109
Инкапсуляция....110
Модульность....110
Наследование....111
Класс Delphi....111
Проектирование класса....112
Управление жизненным циклом объекта....114
Опережающее объявление класса....115
Ограничение видимости членов класса....117
Свойства объекта....118
Особенности объявления методов....119
Поля класса и методы класса....119
Иерархия наследования....120
Полиморфизм....121
Операторы класса....123
Аннотация класса....124
Создание и подключение атрибутов с аннотацией....124
Извлечение аннотации....125
Глава 8 . Шаблоны....127
Обобщенный тип данных в полях записей....127
Обобщения в процедурах и функциях....129
Обобщенные типы данных в шаблонах классов....130
Наследование шаблона класса....131
Перегрузка методов с параметром обобщенного типа....132
Шаблон массива, класс TArray....133
часть II....135
Платформа VCL....135
Глава 9 . Опорные классы VCL....137
Класс TObject....137
Управление жизненным циклом объекта....139
Информирование о классе....141
Класс TPersistent....143
Основа компонента, класс TComponent....144
Владение компонентом....145
Глава 10 . Массивы указателей, наборы строк и коллекции....147
Массив указателей, класс TList....148
Контейнер объектов, класс TObjectList....151
Контейнер компонентов, класс TComponentList....151
Наборы строк, класс TStrings....152
Редактирование списка и управление данными....153
Загрузка и сохранение строк....155
Объединение строк....156
Поиск строки и объекта....157
Обслуживание данных "параметр — значение"....157
Оптимизация производительности....157
Особенности класса TStringList....158
Коллекции....159
Элемент коллекции, класс TCollectionItem....160
Создание и уничтожение коллекции....161
Доступ к элементу коллекции....161
Манипуляции элементами коллекции....161
Поиск элемента коллекции....162
Сравнение коллекций....162
Глава 11 . Классы потоков данных....163
Прототип потоков данных, класс TStream....163
Потоки с дескриптором, класс THandleStream....165
Файловый поток данных, класс TFileStream....165
Пример работы с файловым потоком данных....167
Потоки данных в памяти....169
Поток данных в памяти TMemoryStream....170
Поток байтов TBytesStream....170
Поток строк TStringStream....171
Поток с возможностью сжатия данных....172
Сжатие данных TZCompressionStream....172
Восстановление данных TZDecompressionStream....173
Глава 12 . Визуальные элементы управления и класс TControl....175
Принадлежность к родительскому контейнеру....175
Размещение и размеры элемента управления....176
События, связанные с изменением размеров....178
Пересчет клиентских и экранных координат....178
Выравнивание элемента управления в контейнере....179
Видимость и активность элемента управления....180
Внешний вид....181
Вывод текста....181
Оперативная подсказка....181
Контекстное меню....182
Командный объект....182
Поддержка естественного ввода....183
Обработка событий мыши....183
Щелчки кнопками мыши....183
Перехват щелчков мыши....187
Перемещение указателя мыши....188
Вращение колесика мыши....190
Операция перетаскивания drag and drop....191
Пример реализации операции drag and drop....193
Глава 13 . Оконные элементы управления и класс TWinControl....196
Дескриптор окна....196
Управление подчиненными элементами....198
Выравнивание подчиненных элементов....199
Фокус ввода....200
Обработка событий клавиатуры....201
Операция буксировки drag and dock....203
Буксировка программным способом....207
Глава 14 . Приложение VCL....209
Приложение VCL, класс TApplication....211
Оконная процедура....211
Общие возможности Application....213
Доступ к основным объектам приложения....215
Обработка поступающих сообщений....215
Управление процессом создания приложения....217
Завершение работы приложения....219
Сворачивание и восстановление размеров окна приложения....220
Диалоговое окно приложения....220
Осуществление оперативной подсказки....221
Подключение к справочной системе....222
События приложения, класс TApplicationEvents....223
Значок в области уведомлений....224
Пример работы с компонентом TTrayIcon....226
Стили оформления приложения....227
Менеджер стилей TStyleManager....229
Утилита создания стилей оформления....231
Глава 15 . Форма, фрейм и модуль данных....233
Форма проекта VCL, класс TForm....233
Описание формы в dfm-файле....234
Стиль, поведение и оформление формы....236
Состояние формы....237
Создание, отображение и уничтожение форм....238
Вывод формы в модальном режиме....239
Закрытие формы....240
Уничтожение формы....241
Подключение меню....241
Фокус ввода....241
Полосы прокрутки....242
Особенности графического вывода формы....243
Выбор монитора для вывода формы....243
Масштабирование шрифта....244
Эффект прозрачности....244
Альфа-канал....244
Эффект размытого стекла....245
Дескрипторы окна....246
Прикрепление формы к границам экрана....246
Обработка событий формы....246
Жизненный цикл формы....247
Нажатие быстрых клавиш....249
Пользовательские интерфейсы SDI и MDI....250
Особенности проекта MDI....251
Фрейм TFrame....255
Создание простого фрейма....255
Диалоги-помощники на основе фреймов....257
Модуль данных TDataModule....260
Глава 16 . Исключительные ситуации....262
Защищенные от ошибок секции....262
Конструкция try..except....263
Конструкция try..finally....263
Вложенные конструкции try....264
Объектная модель исключительных ситуаций....265
Базовый класс Exception исключительной ситуации....267
Тихая исключительная ситуация EAbort....269
Исключительная ситуация отладки EAssertionFailed....270
Определение новых классов ИС....271
Расширенные возможности try..except....272
Централизованная обработка ошибок в приложении....273
Настройка поведения Delphi при обработке исключительных ситуаций....274
Глава 17 . Компоненты отображения и редактирования текста....275
Компоненты отображения текста....275
Метка TLabel....275
Статический текст TStaticText....278
Метка-ссылка TLinkLabel....278
Компоненты редактирования текста....279
Основа текстовых редакторов, класс TCustomEdit....280
Ограничения на ввод....281
Выделение части текста....282
Взаимодействие с буфером обмена....283
Отмена изменений....283
Строка ввода TEdit....284
Строка ввода с кнопками TButtonedEdit....284
Строка ввода с меткой TLabeledEdit....284
Строка ввода с маской TMaskEdit....285
Многострочный текстовый редактор TMemo....286
Редактор расширенного текстового формата TRichEdit....287
Форматирование абзаца — класс TParaAttributes....288
Атрибуты текста — класс TTextAttributes....289
Особенности обработки событий....289
Глава 18 . Кнопки и компоненты выбора значений....292
Кнопка TButton....292
Кнопка с рисунком TBitBtn....295
Кнопка-флажок TCheckBox....296
Кнопки изменения значения TUpDown....297
Кнопка выбора TRadioButton....298
Группа переключателей TRadioGroup....298
Группа кнопок TButtonGroup....299
Категории кнопок TCategoryButtons....302
Глава 19 . Меню приложения....308
Опорный класс меню TMenu....309
Главное меню TMainMenu....310
Контекстное меню TPopupMenu....311
Элемент меню TMenuItem....312
Элемент меню в виде флажка....313
Элементы меню в виде группы выбора....314
Родительские и дочерние элементы меню....315
Присвоение элементам меню значков....316
Динамическое создание элементов меню....316
Удаление элементов меню....318
Элементы-разделители....318
Особенности прорисовки пункта меню....319
Глава 20 . Управление приложением с помощью команд....321
Команда TAction....322
Связь с элементом управления....325
Выполнение команды....325
Установка в актуальное состояние....326
Связь команды с контейнером....326
Менеджеры команд....326
Общие черты менеджеров команд....327
Список команд TActionList....328
Менеджер команд TActionManager....328
Командные панели....329
Класс TActionClientItem....330
Опорный класс командных панелей TCustomActionBar....332
Панель главного меню TActionMainMenuBar....333
Инструментальная панель TActionToolBar....334
Контекстное командное меню TPopupActionBar....334
Настройка интерфейса во время выполнения приложения, диалог TCustomizeDlg....335
Редактор "горячих" клавиш THotKey....337
Глава 21 . Списки....339
Опорный класс списков TCustomListControl....341
Общие черты списков, список TListBox....342
Замедление перебора элементов списка....345
Особенности обработки событий....345
Список с флажками выбора TCheckListBox....348
Список выбора цвета TColorListBox....349
Комбинированные списки, TComboBox....351
Улучшенный комбинированный список TComboBoxEx....353
Список просмотра TListView....355
Стиль представления данных....356
Особенности работы списка со стилем vsReport....357
Колонка TListColumn....358
Коллекция элементов списка TListItems....358
Элемент списка TListItem....360
Редактирование заголовка элемента....361
Выбор элементов списка....361
Упорядочивание элементов....363
Поиск элементов....363
Группировка элементов....364
Операции перерисовки....364
Пример работы с TListView....366
Глава 22 . Сетки....371
Общие черты сеток, сетка TDrawGrid....372
Адресация ячейки....374
Обработка событий....374
Расширенные возможности по оформлению сетки....376
Сетка строк TStringGrid....377
Редактор списка значений TValueListEditor....381
Глава 23 . Иерархические данные и компонент TTreeView....385
Сохранение и загрузка дерева....387
Выбор узла в дереве....387
Одновременный выбор нескольких узлов....388
Узел дерева TTreeNode....389
Положение узла в дереве....390
Родительские узлы....390
Дочерние узлы....391
Методы перехода между узлами дерева....391
Перемещение узла....392
Удаление узла....393
Значок узла....393
Свертывание и развертывание узла....394
Хранилище узлов класс TTreeNodes....395
Добавление узлов....396
Сортировка узлов....399
Удаление узлов из коллекции....400
Редактирование текста узла....401
Оформление дерева....401
Глава 24 . Панели-контейнеры....405
Простые панели....405
Простая панель TPanel....406
Панель TFlowPanel....408
Панель-сетка TGridPanel....408
Область группировки TGroupBox....410
Контейнеры с возможностью скроллинга....411
Область с полосами прокрутки TScrollBox....411
Страница с кнопками прокрутки TPageScroller....412
Разделитель панелей, компонент TSplitter....413
Глава 25 . Инструментальные планки....415
Инструментальная планка TToolBar....416
Кнопка TToolButton....416
Управление кнопками....420
Пользовательские настройки....421
Оформление....421
Планка TCoolBar....422
Дочерняя полоса TCoolBar....423
Планка управления TControlBar....424
Панель состояния TStatusBar....426
Глава 26 . Наборы закладок и блокноты....430
Набор закладок, TTabControl....431
Закладки TTabSet и TDockTabSet....434
Блокнот TPageControl....434
Страница блокнота TTabSheet....436
Глава 27 . Работа с датой и временем....438
Отсчет времени, таймер TTimer....439
Компоненты-календари, базовый класс TCommonCalendar....440
Календарь TMonthCalendar....442
Выбор даты/времени, компонент TDateTimePicker....443
Глава 28 . Диалоговые окна....445
Окна вывода сообщений....445
Окна выбора действия....446
Создание многоразового окна выбора действия....449
Окна ввода данных....449
Окна выбора файлов и папок....450
Компоненты-диалоги....451
Диалоги открытия и сохранения файлов....453
Универсальные диалоги TOpenDialog и TSaveDialog....453
Особенности графических диалогов TOpenPictureDialog и TSavePictureDialog....459
Особенности текстовых диалогов TOpenTextFileDialog и TSaveTextFileDialog....459
Диалоги поиска и замены текста....459
Выбор шрифта TFontDialog....463
Выбор цвета TColorDialog....464
Параметры страницы TPageSetupDialog....465
Настройка печати TPrinterSetupDialog....467
Отправка задания на печать TPrintDialog....468
Диалог управления задачей TTaskDialog....469
Глава 29 . Технология естественного ввода....472
Описание жеста....472
Реакция элементов управления на жест....474
Пример обработки стандартных жестов....476
Компоненты поддержки естественного ввода....477
Менеджер жестов TGestureManager....477
Доступ к жестам и их сохранение....478
Просмотр жестов, TGestureListView и TGesturePreview....480
Область ввода жеста TGestureRecorder....480
Виртуальная клавиатура TTouchKeyboard....481
Глава 30 . Управление графическим выводом....483
Получение сведений об устройствах видеовывода....483
Изменение настроек дисплея....486
Исследование текущего состояния устройства....488
Взаимодействие с экраном, класс TScreen....489
Информация о рабочем столе....490
Управление видом указателя мыши....490
Информация о шрифтах системы....490
Информация о формах проекта....491
Информация об устройствах видеовывода....492
Реакция на события....492
Взаимодействие с дисплеем, класс TMonitor....492
Глава 31 . Холст TCanvas....494
Представление цвета....495
Кисть TBrush....497
Перо TPen....499
Шрифт TFont....502
Холст TCanvas в VCL....505
Закраска области....505
Градиентная заливка....506
Графические примитивы....507
Линии....508
Простейшие геометрические фигуры....509
Дуги....510
Сплайн Безье....510
Копирование части холста....512
Глава 32 . Растровая и векторная графика....514
Абстрактный базовый класс TGraphic....515
Значок TIcon....517
Формат BMP, класс TBitmap....518
Формат JPEG, класс TJPEGImage....522
Формат GIF, класс TGifImage....524
Управление фреймами рисунка GIF....526
Оптимизация рисунка GIF....527
Обработка событий....529
Формат PNG, класс TPngImage....529
Векторная графика, метафайл TMetaFile....532
Холст метафайла TMetafileCanvas....533
Универсальный контейнер TPicture....534
Универсальный контейнер TWICImage....535
Коллекция изображений TImageList....536
Загрузка образов в контейнер....537
Особенности отображения значков....539
Прозрачность....540
Экспорт значков из контейнера....541
Глава 33 . Сложные графические задачи....542
Растровые операции....542
Управление прозрачностью....545
Системы координат и режимы отображения....548
Перенос начала координат....549
Управление страничными координатами....550
Мировые координаты и аффинные преобразования....552
Глава 34 . Управление печатью....557
Описание принтера в Delphi, класс TPrinter....558
Выбор принтера....558
Управление страницей документа....559
Формирование и отправка задания на печать....559
Отмена задания....560
Печать многострочного текста....561
Особенности печати изображений....562
Пример печати изображений....562
Окно предварительного просмотра....563
Отправка задания на печать....568
часть III....569
VCL и Windows API....569
Глава 35 . Реестр Windows....571
Класс TRegistryIniFile....572
Чтение из реестра....573
Запись в реестр....574
Удаление подраздела....575
Пример....575
Класс TRegistry....577
Создание и уничтожение экземпляра реестра....577
Работа с удаленным реестром....577
Доступ к разделам реестра....577
Чтение и запись значений в параметры....579
Получение информации о разделе....580
Получение сведений о параметре....581
Экспорт и импорт разделов реестра....581
Глава 36 . Управление процессами....583
Создание процесса....584
Доступ к процессу....586
Приоритет процесса....587
Время выполнения процесса....588
Завершение процесса....589
Сбор информации о процессах Windows....590
Получение сведений о версии ОС....593
Глава 37 . Многопоточные приложения....594
Поток TThread....594
Метод ожидания....598
Управление приоритетом потока....599
Время выполнения потока....600
Синхронный и асинхронный вызовы внешнего метода....600
Пример многопоточного приложения....600
Синхронизация потоков....604
Синхронизация событием TEvent....605
Критическая секция TCriticalSection....608
Мьютекс TMutex....608
Семафор TSemaphore....610
Глава 38 . Взаимодействие процессов....612
Обмен данными через буфер обмена....612
Регистрация пользовательского формата буфера обмена....615
Обмен сообщениями....619
Поиск окна....620
Регистрация пользовательских сообщений....622
Пример обмена сообщениями между процессами....623
Файловое отображение....626
Глава 39 . Сетевое взаимодействие....631
Почтовые слоты....631
Определение имени почтового слота....632
Управление почтовым слотом....633
Получение и отправка корреспонденции....633
Пример почтового приложения....634
Именованные каналы....637
Определение имени именованного канала....637
Создание именованного канала....638
Управление соединением с клиентом....640
Состояние канала....641
Подключение к каналу клиентского приложения....642
Разработка класса сервера именованного канала....643
Разработка класса клиента именованного канала....646
Сокеты....647
Классы сокетов в VCL....647
Общие черты сокетов, опорный класс TIPSocket....648
Адрес сокета....650
Отправка и получение данных....651
Сервер, компонент TTCPServer....652
Клиенты, компоненты TTCPClient и TUDPSocket....654
Пример приложения....654
Сокет-клиент....655
Сокет-сервер....656
Глава 40 . Сервисы Windows....659
Менеджер управления сервисами....660
Управление сервисом....662
Состояние службы....664
Конфигурирование службы....665
Удаление службы....665
Сервис в VCL, класс TService....665
Идентификация....665
Тип сервиса....666
Определение прав на управление сервисом....666
Загрузка и запуск службы....666
Статус службы....667
Сбои при старте сервиса....668
Остановка и возобновление службы....668
Инсталляция и деинсталляция сервиса....669
Выполнение службы, поток TServiceThread....670
Ведение протокола службы....671
Приложение-сервис TServiceApplication....672
Пример....672
Регистрация сервиса в ручном режиме....675
Апплеты Панели управления....676
Апплет Панели управления, класс TAppletModule....677
Приложение Панели управления TAppletApplication....678
Пример апплета управления сервисом Windows....679
Приложение управления сервисом....679
Апплет Панели управления....680
Глава 41 . Динамически подключаемые библиотеки....683
Создание проекта DLL....684
Объявление и экспорт функций в DLL....685
Соглашение о вызовах....685
Пример экспорта функций....686
Пример хранения форм в библиотеке....687
Вызов библиотеки из приложения....688
Неявное подключение DLL....689
Явное подключение DLL....691
Глава 42 . Многокомпонентная модель COM....693
COM-объект....694
Понятие интерфейса....694
Базовый интерфейс IUnknown....696
Реализация интерфейса....697
Порядок вызова сервера COM....698
Интерфейс IClassFactory и библиотека COM....699
Реализация фабрики класса, класс TComObjectFactory....701
Реализация COM-объекта в Delphi....703
Класс TComObject....704
Класс TTypedComObject....704
Класс TComServer....705
Пример COM-проекта....706
COM-сервер....706
Помощник настройки COM-объекта....707
Шаблон кода с описанием класса....708
Библиотека типов....709
Главная форма сервера....714
Регистрация сервера....715
COM-клиент....716
Импорт библиотеки типов....716
Обращение к COM-объекту....718
Глава 43 . Автоматизация....719
Интерфейс IDispatch....720
Диспинтерфейсы и дуальные интерфейсы....721
Контроллер автоматизации без применения библиотеки типов....721
Контроллер автоматизации с поддержкой библиотеки типов....723
Сервер автоматизации, базовый класс TAutoObject....726
Регистрация сервера автоматизации в таблице ROT....728
События автоматизации....729
Фабрика класса объекта автоматизации....732
Пример проекта автоматизации с поддержкой событий....732
Сервер автоматизации....733
Клиент автоматизации....740
Глава 44 . Интерфейс IShellFolder....746
Идентификация объекта Shell....747
Диалоговое окно получения PIDL....747
Получение пути к системным папкам....749
Интерфейс IShellFolder....750
Получение PIDL из файлового пути....751
Получение интерфейса дочерней папки....751
Получение названия объекта по PIDL....752
Изменение названия объекта....753
Сбор дочерних объектов папки, интерфейс IEnumIDList....753
Атрибуты объекта....755
Сравнение объектов папки....756
Глава 45 . DataSnap....757
Архитектура проекта DataSnap....758
Компоненты сервера....760
Сервер TDSServer....760
Обработка событий....760
Класс сервера TDSServerClass....763
Транспортные компоненты TDSTCPServerTransport и TDSHTTPService....764
Менеджер аутентификации TDSAuthenticationManager....766
Компоненты клиента....767
Соединение TSQLConnection....768
Проект DataSnap с использованием мастера....770
Подготовка клиентского приложения....774
Создание нового метода на сервере DataSnap....776
Доступ к новому методу из клиентского приложения....777
Проект DataSnap на основе пользовательского класса....778
Сервер....778
Клиент....780
Механизм обратного вызова....782
Глава 46 . LiveBindings....785
Вводный пример LiveBindings....785
Класс TBindExpression....788
Выражение LiveBindings....790
Программная связь, класс TBindings....791
часть IV....795
FireMonkey....795
Глава 47 . Платформа FireMonkey....797
Опорный класс TFmxObject....797
Создание и уничтожение экземпляра класса....799
Сохранение объекта в памяти....799
Управление дочерними объектами....799
Сопоставление дополнительных данных....800
Элемент управления FMX — класс TControl....800
Размещение и выравнивание элемента управления....801
Выравнивание объекта....802
Масштабирование и вращение объекта....803
Видимость и прозрачность элемента управления....804
Обработка событий....804
Простейшие события — щелчок....804
Клавиатурные события....805
События мыши....805
События получения и утраты фокуса ввода....806
Событие изменения размера....806
События перетаскивания drag and drop....806
Особенности прорисовки элемента управления....808
Глава 48 . Приложение FireMonkey....809
Выбор целевой платформы для проекта....809
Приложение FMX.Forms.TApplication....811
Общие черты форм HD и 3D....812
Форма HD FMX.Forms.TForm....813
Стили оформления формы, компонент TStyleBook....813
Трехмерная форма FMX.Forms.TForm3D....814
Пример 3D-проекта....816
Глава 49 . Обзор компонентов для проектов HD....819
Панель-выноска TCalloutPanel....819
Разворачивающаяся панель TExpander....820
Компонент TArcDial....821
Компонент TNumberBox....821
Компонент TComboTrackBar....821
Компонент TPopupBox....822
Сетки TGrid и TStringGrid....823
Глава 50 . Анимация....826
Анимация....826
Простой пример анимации....827
Общие черты компонентов-аниматоров, класс TAnimation....828
Индивидуальные особенности компонентов-аниматоров....830
Цветовая анимация, компонент TColorAnimation....831
Градиентная анимация, компонент TGradientAnimation....831
Анимированная картинка, компонент TBitmapAnimation....831
Анимированный ряд, компонент TBitmapListAnimation....831
Анимация числовых свойств, компонент TFloatAnimation....832
Анимация прямоугольной области, компонент TRectAnimation....832
Анимация траектории, компонент TPathAnimation....832
Управление графической производительностью....833
ПРИЛОЖЕНИЯ ....835
Приложение 1. Математика, статистика и тригонометрия....837
Приложение 2 . Работа со строками и символами....843
Системные настройки форматирования и класс TFormatSettings....847
Приложение 3 . Работа с датой и временем....849
Представление даты и времени в текстовом формате....858
Приложение 4 . Работа с памятью....861
Приложение 5 . Управление ходом выполнения программы....863
Приложение 6 . Работа с именами папок и файлов....864
Приложение 7 . Модуль IOUtils....866
Приложение 8 . Константы CSIDL....873
Приложение 9 . Холст FMX.Types.TCanvas....877
Управление холстом....878
Кисть FMX.Types.TBrush....879
Внешний вид линий....880
Шрифт FMX.Types.TFont....881
Заливка замкнутых областей....881
Вывод простейших фигур....883
Вывод текста....883
Отображение рисунков....884
Отсечение....885
Сохранение и восстановление состояния холста....885
Приложение 10 . Описание электронного архива....886
Предметный указатель....887
Настоящее издание посвящено новейшей разработке компании Embarcadero - языку Delphi XE2. Книга предоставляет читателю не только полное описание одного из самых успешных языков программирования, но и уникальную методику, позволяющую проектировать профессиональное программное обеспечение для 32-х и 64-разрядной ОС Microsoft Windows и Mac OS X. В книге системно и последовательно излагаются:
Книгу отличает глубина и ясность изложения материала. Она окажется полезной как для начинающих программистов, которые найдут здесь все необходимое для самостоятельного проектирования прикладного и системного программного обеспечения, так и для подготовленных программистов, которые могут использовать книгу как справочник.