Створення FireMonkey програми з використанням FireDAC
Вибір засобів розробки
Виходячи з зазначених цілей, я використовуватимуDelphi XE4 як засіб розробки.SQLite як СУБД. Для доступу до даних –FireDAC, який зовсім недавно з'явився у складі Delphi. Як засіб інструменту для управління БДSQLite - SQLite Administrator (за рекомендацією Владислава Баженова, в блозі якого ви можете знайти достатньо матеріалів для роботи з SQLite в Delphi).
Для прикладу я вибрав не складне прикладне завдання, яке передбачає використання кількох таблиць. Якийсь аналог добре відомого додатку “Купи батон!”, що служить для ведення списків покупок. У даному варіанті буде передбачений список товарів, що розширюється, і, власне, списки покупок, у кожний з яких можна додавати необхідні товари із зазначенням їх кількості та відміткою про факт покупки (куплений товар чи ні). Проект передбачає поетапне нарощування функціоналу та, можливо, переведення на інші платформи.
Розробка структури БД
Я не детально описуватиму процедуру моделювання даних, цьому питанню присвячено чимало серйозних публікацій, які читачі блогу можуть використовувати при розробці власних проектів. Я накидав дуже просту структуру.
Для зберігання даних використовують три таблиці: Product, ShopingList і List_Product.
У таблиці Product зберігається список всіх можливих товарів. Для зберігання назв списків покупок та дат їх формування використовується таблиця ShopingList. Коди продуктів, що входять до списку та їх кількість, містяться в таблиці List_Product.
SQL код, призначений для формування таблиць наведено нижче.
В даному випадку я незадавав у базі даних жодних обмежень цілісності даних. На пізніших етапах розробки ми повернемось до цього питання.
Поки ж запустіть SQLite Administrator і створіть нову базу даних (DataBase New), вказавши ім'я файлу в який слід її зберегти; вставте наведений вище текст запиту SQL і натисніть клавішу F8. Запит буде виконано, таблиці – створено. Для того, щоб побачити результат, необхідно оновити список об'єктів бази (F5).
Створення Delphi проекту
Перш ніж розпочинати роботу безпосередньо вDelphi необхідно встановитиFireDAC. Для тих, хто не читав попередніх моїх постів, нагадаю, щоFireDAC це бібліотека, що дозволяє здійснювати доступ доInterBase,SQLite,MySQL,SQL Server,Oracle,PostgreSQL,DB2,SQLAnywhere,AdvantageDB,Firebird,Access,Informix зDelphi таC++ Builder. Власники старших редакцій Delphi (починаючи з Enterprise) можуть завантажити інсталяційний пакет з офіційного сайту Embarcadero. Власники жDelphi /RAD Studio Professional можуть придбатиFireDAC окремо.
Після встановленняFireDAC створимо новийFireMonkey проект.
IDEDelphi XE4 зовні мало чим відрізняється від своїх попередників, за винятком, мабуть, зовнішнього вигляду стартової сторінки. У меню File оберемо пункт New FireMonkey Desktop Application – Delphi.

У діалозі, що з'явився, вибираємо HD FireMonkey Application. Відразу після створення нової програми я рекомендую зробити такі дії:
- Перейменувати головну форму (я зазвичай використовую ім'я fMain).
- Зберегти в окрему папку модуль головної форми, надавши йому унікальне ім'я (я зазвичайвикористовую ім'я uMain).
- Присвоїти файлу проекту унікальне ім'я.
- Налаштувати параметри автозбереження проекту (якщо не було зроблено раніше) менюToolsOptions (див. малюнок).

Оскільки додаток використовуватиме компоненти доступу до БД, доцільно використовуватиDataModule – спеціальний контейнер для компонентів доступу до даних. Для цього використовуємо пункт меню File New Other і в діалозі, що з'явився, вибираємо Data Module. У цьому випадку я також рекомендую перейменувати назву форми та модуля (DM та uDM, відповідно).
Підключення до бази даних
Власне, на цьому підготовчий етап створення додатка можна вважати закінченим. І ми приступаємо безпосередньо до побудови програми. Для того, щоб забезпечити підключення до бази даних, перш за все, слід розмістити в Data Module компонентTADConnection. Подвійне клацання по компоненту викликає діалог налаштування підключення. ВластивостіDriverID слід вказати значенняSQLite. Як значення параметра DataBase вкажіть шлях до збереженої раніше бази. Перевірте правильність налаштувань (кнопка Test).

Закрийте Connection Dialog за допомогою кнопки Ok, підтвердивши цим внесені зміни. В інспекторі об'єктів змініть значення властивості LoginPrompt на False. Щоб активувати з'єднання з базою, встановіть значення якості Connection в True. Це буде працювати в режимі проектування, але для того, щоб використовуватиTADConnection в Runtime цього недостатньо.
Для того, щоб повноцінно використовувати з'єднання під час роботи програми, слід розмістити на формі ще два компоненти:TADPhysSQLiteDriverLink іTADGUIxWaitCursor. Властивість Provider останньогообов'язково потрібно встановити значенняFMX.
Тепер ми можемо перевірити, чи буде встановлено з'єднання в Runtime.
Відкрийте головну форму програми та підключіть модуль uDM до списку модулів (це можна натиснувши комбінацію клавіш Alt+F11). У вихідному коді має з'явитися рядок
Тепер помістіть кнопку TButton на форму і напишіть наступний обробник події onClick.
Якщо ви все зробили правильно, при натисканні на кнопку під час роботи програми компонент встановить з'єднання з базою і буде виведено повідомлення: “ADConnection is connected”.