Книга посвящена одному из самых совершенных языков программирования
Delphi XE5/XE6. В ней подробно рассматривается новейшая кроссплатформенная библиотека FM, позволяющая создавать полнофункциональное программное обеспечение для операционных систем Windows и OS X, а также для смартфонов и планшетных компьютеров, работающих под управлением Android и iOS. Проекты примеров из книги размещены на сайте издательства.
Author(s): Осипов Д. Л.
Series: Профессиональное программирование
Publisher: СПб.: БХВ-Петербург
Year: 2014
Language: Russian
Pages: 464
Введение 14
Глава 1. Подготовка к работе 16
Выбор типа приложения 18
Выбор целевой платформы для проекта 19
Выпуск приложения для OS X 20
Выпуск приложения для iOS Mobile 23
Выпуск приложения для Android 24
Что делать, когда код зависит от платформы? : 28
Глава 2. Забываем VCL? 31
Опорный класс VCL — TObject 31
Управление жизненным циклом объекта 33
Механизм учета ссылок в мобильных проектах 35
Информирование о классе 36
Класс TPersistent 38
Основа компонента TComponent 39
Владение объектами 40
Глава 3. Классы-шаблоны 42
Обобщенный тип данных в полях записей 42
Обобщения в процедурах и функциях 44
Обобщенные типы данных в шаблонах классов 45
Наследование шаблона класса 47
Перегрузка методов с параметром обобщенного типа 48
Шаблон массива, класс ТАггауо 48
Шаблон списка объектов, класс TObjectListo 50
Шаблон словаря TDictionaryo 54
Глава 4. Базовые классы FireMonkey 57
Опорный класс TFmxObject 57
Управление дочерними объектами 58
Сопоставление дополнительных данных 61
Поддержка LiveBindings 62
Поддержка анимации 62
Поддержка сенсорного ввода 62
Взаимодействие с командами 62
2О-элементы управления, класс TControl 63
Размещение 2О-элемента управления 64
Выравнивание объекта 65
Группировка объектов и компонент TLayout 66
Масштабирование и вращение объекта 67
Видимость и прозрачность элемента управления 69
Грани, фаски и визуальные эффекты : 69
Состояние элемента управления 71
Обработка событий 71
Простейшие события — щелчок 71
Клавиатурные события 74
События мыши 75
События получения и потери фокуса ввода 78
Событие изменения размера 78
События перетаскивания drag and drop 80
Особенности прорисовки элемента управления 83
Стилевое оформление, класс TStyledControl 84
ЗБ-элементы управления, класс TControBD 84
Размеры объекта 85
Повороты объекта 85
ЗО-события мыши 86
Глава 5. Приложение FireMonkey 89
Приложение TApplication 89
Значок приложения 90
Название приложения 90
Расположение исполняемого файла приложения 92
События приложения 92
Контроль активности пользователя 94
Характеристики дисплея, класс TFormFactor 95
Формы HD и 3D 96
Описание формы в ппх-файле 97
Общие черты форм 99
Создание, отображение и уничтожение форм 99
Состояние формы 103
Жизненный цикл формы 104
Доступ к элементу управления по его координатам 107
Совмещение форм для разных мобильных устройств в одном приложении 107
Качество графического вывода 108
Форма HD FMX.Forms.TForm 109
Трехмерная форма FMX.Forms3D.TForm3D 109
Пример ЗО-проекта ПО Совместное применение 2D- и ЗО-компонентов 114
Стили оформления формы, компонент TStyleBook 115
Подключение ресурсов и изображений 116
Глава 6. Меню приложения 119
Элемент меню TMenultem 121
Элемент меню в виде флажка 122
Группировка элементов меню 123
Доступ к дочерним элементам меню 125
Главное меню TMainMenu 125
Планка меню TMenuBar 125
Контекстное меню ТРорирМепи 125
Глава 7. Командный интерфейс 127
Команда TAction 128
Связь с элементом управления 130
Выполнение команды 131
Установка команды в актуальное состояние 131
Связь команды с контейнером 132
Предопределенные команды 132
Список команд TActionList 134
Глава 8. Управление папками и файлами 136
Работа с дисками 136
Сбор сведений о каталогах и файлах 137
Проверка существования файла и каталога 138
Расположение системных каталогов 138
Создание, удаление, копирование и перемещение 139
Запись в файл и чтение из файла 140
Атрибуты файла и каталога 141
Дата и время создания файла и каталога 142
Глава 9. Компоненты для работы с текстом 143
Класс TTextControl 144
Метка TLabel 145
Интерфейс IVirtualKeyboardControl 147
Основа строк ввода, класс TCustomEdit 147
Ограничения на ввод 149
Выделение части текста 149
Взаимодействие с буфером обмена 151
Управляющие символы 151
Особенности оформления 152
Строки ввода TEdit и TClearingEdit 153
Многострочный редактор ТМепго 154
Позиция каретки 155
Редактирование текста 155
Быстрое перемещение по тексту 156
Ввод чисел TNumberBox, TSpinBox и TComboTrackBar 157
Глава 10. Компоненты-списки 159
Базовый элемент списка TListBoxItem 160
Список выбора TListBox 162
Редактирование элементов 163
Доступ к выделенному элементу списка 165
Доступ к произвольному элементу списка 166
Выбор нескольких элементов 166
Представление элементов в виде кнопки выбора 167
Перестановка элементов 167
Сортировка элементов 167
Текстовый поиск, элемент TSearchBox 168
Особенности оформления списка 169
Основные события списка 170
Нередактируемый комбинированный список TComboBox 170
Редактируемый комбинированный список TComboEdit 173
Компонент выбора значения ТРорирВох 175
Глава 11. Иерархическая структура 176
Узел дерева TTreeViewItem 177
Управление дочерними узлами 177
Положение узла в дереве 179
Состояние узла 180
Дерево TTreeView 180
Выделение узла 180
Доступ к узлу 181
Управление составом узлов 181
Узел в роли флажка 184
Свертывание и развертывание узлов 184
Упорядочивание узлов дерева 185
Глава 12. Сетки 186
Колонки сетки 186
Сетка TGrid 188
Сетка TStringGrid 189
Пример обслуживания текстовых данных 189
Глава 13. Окна сообщений и диалоги 193
Окна сообщений 193
Окна выбора действия 195
Окна ввода данных 197
Компоненты-диалоги 198
Открытие и сохранение файлов TOpenDialogn TSaveDialog 198
Параметры страницы TPageSetupDialog 203
Настройка печати TPrinterSetupDialog 204
Отправка задания на печать TPrintDialog 204
Глава 14. Дата и время 207
Дата и время TDateTime 207
Интервал времени TTimeSpan 208
Отсчет времени, таймер TTimer 209
Календари TCalendar и TCalendarEdit 210
Глава 15. Управление цветом 213
Представление цвета ARGB 213
Стандартные цветовые комбинации 215
Компоненты цветовой модели ARGB 216
Компоненты цветовой модели HSL 217
Компоненты TColorPicker и TColorQuad 217
Цветовые полосы THueTrackBar, TAlphaTrackBaruTBWTrackBar 218
Градиентная заливка TGradientEdit 220
Глава 16. Двухмерная графика 223
Управление холстом 224
Кисть TBrush 225
Внешний вид линий 227
Шрифт TFont 228
Заливка замкнутых областей 229
Вывод простейших фигур 230
Траектория TPathData 231
Вывод текста 233
Отображение рисунков 234
Отсечение 235
Сохранение и восстановление состояния холста 235
Работа с растровой графикой, класс TBitmap 236
Загрузка и сохранение изображения 236
Кодирование и декодирование графических форматов 237
Получение миниатюры изображения 237
Свойства изображения 238
Простые манипуляции графическим образом 238
Редактирование битового образа 239
Управление графической производительностью 240
Глава 17. Графические эффекты 241
Применение эффекта к файлам изображений 243
Применение нескольких эффектов к файлам изображений 244
Простейшие корректирующие эффекты 247
Заливка цветом TFillEffect и TFillRGBEffect 247
Яркость и контрастность TContrastEffect 247
Регулировка оттенка цвета THueAdjustEffect 248
Ясная TBloomEffect и пасмурная TGloomEffect погода 248
Прозрачность TColorKeyAlphaEffect 248
Эффекты размытия и искажения 249
Размытие 249
Искажения 250
Вертикальные полосы TBandsEffect 250
Водоворот TSwirlEJfect и TBandedSwirlEffect 251
Увеличительное стекло TMagnifyEffect и TSmoothMagnifyEffect 252
Стягивание области TPinchEffect 253
Рябь на воде TRippleEffect 254
Волны TWaveEffect 255
Горизонтальная деформация краев текстуры TWrapEffect 255
Аддитивные эффекты 255
Отражение TReflectionEffect 255
Эффекты свечения TGlowEffect и TInnerGlowEffect 256
Тень TShadowEffect 256
Эффект тиснения TEmbossEffect 256
Набросок на бумаге TPaperSketchEffect 257
Карандашный набросок TPencilStrokeEffect 257
Пикселизация TPixelateEffect 258
Старая фотография TSepiaEffect 258
Управление резкостью TSharpenEffect 259
Глубина цвета TToonEffect 259
Геометрические эффекты 259
Аффинные преобразования TAffineTransformEffect 259
Обрезка TCropEffect 259
Перспектива TPerspectiveTransformEffect 260
Эффект плитки TTilerEffect 261
Наложение изображений TNormalBlendEffect 261
Эффекты трансляции 262
Глава 18. Анимация 264
Простой пример анимации 264
Общие черты компонентов-аниматоров, класс TAnimation 266
Индивидуальные особенности компонентов-аниматоров 268
Цветовая анимация, компонент TColorAnimation 269
Градиентная анимация, компонент TGradientAnimation 269
Анимированная картинка, компонент TBitmapAnimation 269
Анимированный ряд, компонент TBitmapListAnimation 269
Анимация числовых свойств, компонент TFloatAnimation 270
Анимация прямоугольной области, компонент TRectAnimation 270
Анимация траектории, компонент TPathAnimation 270
Глава 19. Мультимедиа 272
Воспроизведение мультимедиа 272
Менеджер кодеков TMediaCodecManager 272
Проигрыватель TMediaPlayer и компонент TMediaPlayerControl 274
Захват аудио- и видеопотока 276
Менеджер устройств TCaptureDeviceManager 276
Захват потоков мультимедиа 277
Аудиозахват TAudioCaptureDevice 278
Видеозахват TVideoCaptureDevice 278
Камера TCameraComponent 281
Глава 20. Сенсорный ввод 282
Описание жеста 282
Реакция на сенсорный ввод 284
Интерактивные жесты 286
Пример обработки стандартных жестов 287
Глава 21. InterBase ToGo 288
Соединение с БД TSQLConnection 289
Управление соединением 289
Регистрация пользователя 291
Управление подчиненными наборами данных 292
Управление транзакциями 292
Выполнение SQL-инструкций 293
Информирование о БД 294
Набор данных TSQLDataSet 294
Хранимая процедура TSQLStoredProc 297
Запрос TSQLQuery 300
Выпуск приложения 302
Глава 22. LiveBindings 304
Визуальный дизайнер 306
LiveBindings в проектах баз данных 309
Binding Expressions — связь с помощью выражений 311
Класс TBindExpression 314
Выражение LiveBindings 316
Класс TBindings 318
Lists — связь между списками 320
Класс TBindList 323
Глава 23. Многопоточные приложения 324
Поток TThread 324
Метод ожидания 329
Управление приоритетом потока 330
Синхронный и асинхронный вызовы внешнего метода 331
Пример многопоточного приложения 331
Синхронизация потоков в Windows 333
Синхронизация событием TEvent 334
Критическая секция TCriticalSection 337
Мьютекс TMutex 338
Семафор TSemaphore 339
Глава 24. Мультиязычные проекты 342
Компонент языковой поддержки TLang 342
Режим автоматического перевода 346
Перевод меню 346
Глава 25. Мобильная платформа 348
Интернет-браузер TWebBrowser 349
Привязка к местности 351
Датчик местоположения TLocationSensor 351
Прямое и обратное преобразования координат TGeocoder 353
Датчик ориентирования TOrientationSensor 357
Менеджер датчиков TSensorManager 359
Увеличительное стекло TMagnifierGlass 361
Подсистема уведомлений 362
Пример вывода текстового уведомления в назначенное время 365
Вызов приложения из окна уведомления 366
Пример размещения числа на значке приложения 367
Звонок по телефону 368
Глава 26. Законы трехмерного мира 370
Система координат 370
Единица измерения 372
Точка 373
Вектор 373
Объект 374
Фрейм 375
Проекция 376
Глава 27. Проектируем ЗО-сцены 379
Построение сцены 379
Источник света, класс TLight 381
Камера, класс TCamera 382
Объект-заместитель, класс TProxyObject 384
Макет, класс TDummy 385
Глава 28. Геометрическое описание фигур и mesh-объекты 386
Произвольный объект, классы TMeshu TMeshData 386
Проектируем треугольник 389
Проектируем тетраэдр 390
Проектируем четырехугольник 392
Управление нормалями вершин 394
ЗD-модель, класс TModeBD 395
Импорт модели во время выполнения программы 398
Глава 29. Материал объекта 399
Заливка цветом, компонент TColorMaterialSource 400
Текстурирование 400
Источник текстуры TTextureMaterialSource 401
Управление координатами текстуры в TMesh 401
Отраженный свет и компонент TLightMaterialSource 403
Дополнительная настройка текстур и класс TTexture 405
Глава 30. ЗБ-контекст TContext3D 407
Управление графической сессией 408
Графические примитивы класса TContextHelper 409
Графические примитивы класса TContext3D 412
Освещение 414
Матрицы и матричные преобразования 415
Текстуры 417
Шейдеры 417
Приложение 1. Вектор TVector3D 420
Длина вектора 421
Нормализация вектора 422
Проверка равенства двух векторов 422
Сложение и вычитание векторов 422
Расстояние между двумя векторами 423
Масштабирование вектора 424
Векторное произведение 424
Скалярное произведение 425
Поворот вектора 427
Отражение вектора 427
Приложение 2. Матрица преобразований TMatrix3D 429
Нулевая и единичная матрицы 430
Матрица переноса 430
Матрицы вращения 431
Матрица масштабирования 432
Умножение матриц 432
Дополнительные матричные операции 434
Приложение 3. Модуль SystenuIOUtils 435
Приложение 4. Датчики 443
Приложение 5. Описание электронного архива 446
Список литературы 447
Предметный указатель 448