Delphi XE5/XE6

Д. Осипов «Delphi. Программирование для Windows, OS X, iOS и Android» БХВ-Петербург, 2014 год, 464 стр.

 

БХВ Петербург http://www.bhv.ru/

Книга посвящена одному из самых совершенных языков программирования Delphi XE5/XE6, позволяющая создавать полнофункциональное программное обеспечение для операционных систем Windows и OS X, а также для смартфонов и планшетных компьютеров, работающих под управлением Android и iOS.

В книге подробно рассматривается новейшая кроссплатформенная библиотека FM. Материал переработан так, чтобы соответствовать новой версии Delphi XE5/XE6. Одна из глав полностью посвящена приложению FireMonkeyт. Она расскажет о популярной платформе FireMonkey, которая разработана для быстрого создания приложений для операционных систем Windows, Mac OS X и iOS.

Библиотека компонентов FireMonkey позволяет разрабатывать продвинутый интерфейс пользователя, который легко трансформируется с помощью применения
стилей. Также с помощью этой библиотеки возможна разработка трёхмерных графических программ. Проекты примеров из книги размещены на сайте издательства.

 

Оглавление книги

Введение 13

Глава 1. Подготовка к работе 15
Выбор типа приложения 17
Выбор целевой платформы для проекта 18
Выпуск приложения для OS X 19
Выпуск приложения для iOS Mobile 22
Выпуск приложения для Android 23
Что делать, когда код зависит от платформы? 27

Глава 2. Забываем VCL? 30
Опорный класс VCL — TObject 30
Управление жизненным циклом объекта 32
Механизм учета ссылок в мобильных проектах 34
Информирование о классе 35
Класс TPersistent 37
Основа компонента TComponent 38
Владение объектами 39

Глава 3. Классы-шаблоны 41
Обобщенный тип данных в полях записей 41
Обобщения в процедурах и функциях 43
Обобщенные типы данных в шаблонах классов 44
Наследование шаблона класса 46
Перегрузка методов с параметром обобщенного типа 47
Шаблон массива, класс TArray<> 47
Шаблон списка объектов, класс TObjectList<> 49
Шаблон словаря TDictionary<> 53

Глава 4. Базовые классы FireMonkey 56
Опорный класс TFmxObject 56
Управление дочерними объектами 57
Сопоставление дополнительных данных 60
Поддержка LiveBindings 61
Поддержка анимации 61
Поддержка сенсорного ввода 61
Взаимодействие с командами 61
2D-элементы управления, класс TControl 62
Размещение 2D-элемента управления 63
Выравнивание объекта 64
Группировка объектов и компонент TLayout 65
Масштабирование и вращение объекта 66
Видимость и прозрачность элемента управления 68
Грани, фаски и визуальные эффекты 68
Состояние элемента управления 70
Обработка событий 70
Простейшие события — щелчок 70
Клавиатурные события 73
События мыши 74
События получения и потери фокуса ввода 77
Событие изменения размера 77
События перетаскивания drag and drop 79
Особенности прорисовки элемента управления 82
Стилевое оформление, класс TStyledControl 83
3D-элементы управления, класс TControl3D 83
Размеры объекта 84
Повороты объекта 84
3D-события мыши 85

Глава 5. Приложение FireMonkey 88
Приложение TApplication 88
Значок приложения 89
Название приложения 89
Расположение исполняемого файла приложения 91
События приложения 91
Контроль активности пользователя 93
Характеристики дисплея, класс TFormFactor 94
Формы HD и 3D 95
Описание формы в fmx-файле 96
Общие черты форм 98
Создание, отображение и уничтожение форм 98
Состояние формы 102
Жизненный цикл формы 103
Доступ к элементу управления по его координатам 106
Совмещение форм для разных мобильных устройств в одном приложении 106
Качество графического вывода 07
Форма HD FMX.Forms.TForm 108
Трехмерная форма FMX.Forms3D.TForm3D 108
Пример 3D-проекта 110
Совместное применение 2D- и 3D-компонентов 113
Стили оформления формы, компонент TStyleBook 114
Подключение ресурсов и изображений 115

Глава 6. Меню приложения 118
Элемент меню TMenuItem 120
Элемент меню в виде флажка 121
Группировка элементов меню 122
Доступ к дочерним элементам меню 124
Главное меню TMainMenu 124
Планка меню TMenuBar 124
Контекстное меню TPopupMenu 124

Глава 7. Командный интерфейс 126
Команда TAction 127
Связь с элементом управления 129
Выполнение команды 130
Установка команды в актуальное состояние 130
Связь команды с контейнером 131
Предопределенные команды 131
Список команд TActionList 133

Глава 8. Управление папками и файлами 135
Работа с дисками 135
Сбор сведений о каталогах и файлах 136
Проверка существования файла и каталога 137
Расположение системных каталогов 137
Создание, удаление, копирование и перемещение 138
Запись в файл и чтение из файла 139
Атрибуты файла и каталога 140
Дата и время создания файла и каталога 141

Глава 9. Компоненты для работы с текстом 142
Класс TTextContro 143
Метка TLabel 144
Интерфейс IVirtualKeyboardControl 146
Основа строк ввода, класс TCustomEdit 146
Ограничения на ввод 148
Выделение части текста 148
Взаимодействие с буфером обмена 150
Управляющие символы 150
Особенности оформления 151
Строки ввода TEdit и TClearingEdit 152
Многострочный редактор TMemo 153
Позиция каретки 154
Редактирование текста 154
Быстрое перемещение по тексту 155
Ввод чисел TNumberBox, TSpinBox и TComboTrackBar 156

Глава 10. Компоненты-списки 158
Базовый элемент списка TListBoxItem 159
Список выбора TListBox 161
Редактирование элементов 162
Доступ к выделенному элементу списка 164
Доступ к произвольному элементу списка 165
Выбор нескольких элементов 165
Представление элементов в виде кнопки выбора 166
Перестановка элементов 166
Сортировка элементов 166
Текстовый поиск, элемент TSearchBox 167
Особенности оформления списка 168
Основные события списка 169
Нередактируемый комбинированный список TComboBox 169
Редактируемый комбинированный список TComboEdit 172
Компонент выбора значения TPopupBox 174

Глава 11. Иерархическая структура 175
Узел дерева TTreeViewItem 176
Управление дочерними узлами 176
Положение узла в дереве 178
Состояние узла 179
Дерево TTreeView 179
Выделение узла 179
Доступ к узлу 180
Управление составом узлов 180
Узел в роли флажка 183
Свертывание и развертывание узлов 183
Упорядочивание узлов дерева 184

Глава 12. Сетки 185
Колонки сетки 185
Сетка TGrid 187
Сетка TStringGrid 188
Пример обслуживания текстовых данных 188

Глава 13. Окна сообщений и диалоги 192
Окна сообщений 192
Окна выбора действия 194
Окна ввода данных 196
Компоненты-диалоги 197
Открытие и сохранение файлов TOpenDialog и TSaveDialog 197
Параметры страницы TPage Setup Dialog 202
Настройка печати TPrinter Setup Dialog 203
Отправка задания на печать TPrintDialog 203

Глава 14. Дата и время 206
Дата и время TDateTime 206
Интервал времени TTimeSpan 207
Отсчет времени, таймер TTimer 208
Календари TCalendar и TCalendarEdit 209

Глава 15. Управление цветом 212
Представление цвета ARGB 212
Стандартные цветовые комбинации 214
Компоненты цветовой модели ARGB 215
Компоненты цветовой модели HSL 216
Компоненты TColorPicker и TColorQuad 216
Цветовые полосы THueTrackBar, TAlphaTrackBar и TBWTrackBar 217
Градиентная заливка TGradientEdit 219

Глава 16. Двухмерная графика 222
Управление холстом 223
Кисть TBrush 224
Внешний вид линий 226
Шрифт TFont 227
Заливка замкнутых областей 228
Вывод простейших фигур 229
Траектория TPathData 230
Вывод текста 232
Отображение рисунков 233
Отсечение 234
Сохранение и восстановление состояния холста 234
Работа с растровой графикой, класс TBitmap 235
Загрузка и сохранение изображения 235
Кодирование и декодирование графических форматов 236
Получение миниатюры изображения 236
Свойства изображения 237
Простые манипуляции графическим образом 237
Редактирование битового образа 238
Управление графической производительностью 239

Глава 17. Графические эффекты 240
Применение эффекта к файлам изображений 242
Применение нескольких эффектов к файлам изображений 243
Простейшие корректирующие эффекты 246
Заливка цветом TFillEffect и TFillRGBEffect 246
Яркость и контрастность TContrastEffect 246
Регулировка оттенка цвета THueAdjustEffect 247
Ясная TBloomEffect и пасмурная TGloomEffect погода 247
Прозрачность TColorKeyAlphaEffect 247
Эффекты размытия и искажения 248
Размытие 248
Искажения 249
Вертикальные полосы TBandsEffect 249
Водоворот TSwirlEffect и TBandedSwirlEffect 250
Увеличительное стекло TMagnifyEffect и TSmoothMagnifyEffect 251
Стягивание области TPinchEffect 252
Рябь на воде TRippleEffect 253
Волны TWaveEffect 254
Горизонтальная деформация краев текстуры TWrapEffect 254
Аддитивные эффекты 254
Отражение TReflectionEffect 254
Эффекты свечения TGlowEffect и TInnerGlowEffect 255
Тень TShadowEffect 255
Эффект тиснения TEmbossEffect 255
Набросок на бумаге TPaperSketchEffect 256
Карандашный набросок TPencilStrokeEffect 256
Пикселизация TPixelateEffect 257
Старая фотография TSepiaEffect 257
Управление резкостью TSharpenEffect 258
Глубина цвета TToonEffect 258
Геометрические эффекты 258
Аффинные преобразования TAffineTransformEffect 258
Обрезка TCropEffect 258
Перспектива TPerspectiveTransformEffect 259
Эффект плитки TTilerEffect 260
Наложение изображений TNormalBlendEffect 260
Эффекты трансляции 261

Глава 18. Анимация 263
Простой пример анимации 263
Общие черты компонентов-аниматоров, класс TAnimation 265
Индивидуальные особенности компонентов-аниматоров 267
Цветовая анимация, компонент TColorAnimation 268
Градиентная анимация, компонент TGradientAnimation 268
Анимированная картинка, компонент TBitmapAnimation 268
Анимированный ряд, компонент TBitmapListAnimation 268
Анимация числовых свойств, компонент TFloatAnimation 269
Анимация прямоугольной области, компонент TRectAnimation 269
Анимация траектории, компонент TPathAnimation 269

Глава 19. Мультимедиа 271
Воспроизведение мультимедиа 271
Менеджер кодеков TMediaCodecManager 271
Проигрыватель TMediaPlayer и компонент TMediaPlayerControl 273
Захват аудио- и видеопотока 275
Менеджер устройств TCaptureDeviceManager 275
Захват потоков мультимедиа 276
Аудиозахват TAudioCaptureDevice 277
Видеозахват TVideoCaptureDevice 277
Камера TCameraComponent 280

Глава 20. Сенсорный ввод 281
Описание жеста 281
Реакция на сенсорный ввод 283
Интерактивные жесты 285
Пример обработки стандартных жестов 286

Глава 21. InterBase ToGo 287
Соединение с БД TSQLConnection 288
Управление соединением 288
Регистрация пользователя 290
Управление подчиненными наборами данных 291
Управление транзакциями 291
Выполнение SQL-инструкций 292
Информирование о БД 293
Набор данных TSQLDataSet 293
Хранимая процедура TSQLStoredProc 296
Запрос TSQLQuery 299
Выпуск приложения 301

Глава 22. LiveBindings 303
Визуальный дизайнер 305
LiveBindings в проектах баз данных 308
Binding Expressions — связь с помощью выражений 310
Класс TBindExpression 313
Выражение LiveBindings 315
Класс TBindings 317
Lists — связь между списками 319
Класс TBindList 322

Глава 23. Многопоточные приложения 323
Поток TThread 323
Метод ожидания 328
Управление приоритетом потока 329
Синхронный и асинхронный вызовы внешнего метода 330
Пример многопоточного приложения 330
Синхронизация потоков в Windows 332
Синхронизация событием TEvent 333
Критическая секция TCriticalSection 336
Мьютекс TMutex 337
Семафор TSemaphore 338

Глава 24. Мультиязычные проекты 341
Компонент языковой поддержки TLang 341
Режим автоматического перевода 345
Перевод меню 345

Глава 25. Мобильная платформа 347
Интернет-браузер TWebBrowser 348
Привязка к местности 350
Датчик местоположения TLocationSensor 350
Прямое и обратное преобразования координат TGeocoder 352
Датчик ориентирования TOrientationSensor 356
Менеджер датчиков TSensorManager 358
Увеличительное стекло TMagnifierGlass 360
Подсистема уведомлений 361
Пример вывода текстового уведомления в назначенное время 364
Вызов приложения из окна уведомления 365
Пример размещения числа на значке приложения 366
Звонок по телефону 367

Глава 26. Законы трехмерного мира 369
Система координат 369
Единица измерения 371
Точка 372
Вектор 372
Объект 373
Фрейм 374
Проекция 375

Глава 27. Проектируем 3D-сцены 378
Построение сцены 378
Источник света, класс TLight 380
Камера, класс TCamera 381
Объект-заместитель, класс TProxyObject 383
Макет, класс TDummy 384

Глава 28. Геометрическое описание фигур и mesh-объекты 385
Произвольный объект, классы TMesh и TMeshData 385
Проектируем треугольник 388
Проектируем тетраэдр 389
Проектируем четырехугольник 391
Управление нормалями вершин 393
3D-модель, класс TModel3D 394
Импорт модели во время выполнения программы 397

Глава 29. Материал объекта 398
Заливка цветом, компонент TColorMaterialSource 399
Текстурирование 399
Источник текстуры TTextureMaterialSource 400
Управление координатами текстуры в TMesh 400
Отраженный свет и компонент TLightMaterialSource 402
Дополнительная настройка текстур и класс TTexture 404

Глава 30. 3D-контекст TContext3D 406
Управление графической сессией 407
Графические примитивы класса TContextHelper 408
Графические примитивы класса TContext3D 411
Освещение 413
Матрицы и матричные преобразования 414
Текстуры 416
Шейдеры 416

Приложение 1. Вектор TVector3D 419
Длина вектора 420
Нормализация вектора 421
Проверка равенства двух векторов 421
Сложение и вычитание векторов 421
Расстояние между двумя векторами 422
Масштабирование вектора 423
Векторное произведение 423
Скалярное произведение 424
Поворот вектора 426
Отражение вектора 426

Приложение 2. Матрица преобразований TMatrix3D 428
Нулевая и единичная матрицы 429
Матрица переноса 429
Матрицы вращения 430
Матрица масштабирования 431
Умножение матриц 431
Дополнительные матричные операции 433
Приложение 3. Модуль System.IOUtils 434
Приложение 4. Датчики 442
Приложение 5. Описание электронного архива 445
Список литературы 446
Предметный указатель 447

 

Скачать книгу бесплатно56,6 мб pdf

 

Похожая литература