Шаблон FMX для онлайн -заказа ресторана
Целью создания этого шаблона является то, что вы, как разработчик приложения онлайн -заказы, уже имеете основной дизайн приложения с готовой базовой функциональностью. Вам просто нужно подключить бэкэнд к приложению и настроить вывод вашего контента в существующих методах вывода данных для графических элементов управления с использованием наших стилей. Кроме того, конечно, существует возможность независимо реализовать остальную часть функциональности, которая подходит исключительно для вашего ресторана.
Шаблон состоит из данных данных, 10 функциональных форм и основной формы, которая отображает большинство функциональных форм внутри него.
Когда приложение запускается, запускается форма начала ( ufrmGetStarted ). Он отображает название вашего ресторана и базовую контактную информацию. Также справа от контактной информации есть кнопки, которые позволяют пользователю позвонить в один из доступных приложений. Кроме того, существует возможность отправить электронное письмо на почтовый адрес вашего ресторана, используя одно из предложенных приложений. Внизу формы есть кнопка начала. Нажав эту кнопку, вы будете перенаправлены на основную форму ( ufrmMain ) приложения.
Основная форма приложения, при запуске, немедленно загружает и отображает форму панели приборной панели ( ufrmDashboard ). Все формы, загруженные из бокового меню основной формы или через дублирующие кнопки формы приборной панели, отображаются на страницах компонента TTabControl . Это позволяет вам использовать основное меню программы на всех формах, где это необходимо. Это также позволяет вам управлять эффективно открывать формы и переходы между ними из одной формы через один механизм. Основной метод, который используется для создания форм, отображения их содержимого на страницах TTabControl основной формы, а также присвоение функциональности управлению этими формами, выполняется в методе LoadScreenByName() . Изучите его и методы, вызванные из него, и вы выясните, как строится логика для отображения форм в приложении.
Формы, реализованные в этом шаблоне:
ufrmMain - основная формаufrmCart - форма корзиныufrmCoupons - Форма купонов дисконтированияufrmDashboard - форма панели панелиufrmGallery - галерея форма ресторанаufrmGetStarted - приветственный экранufrmAboutUs - о нас формаufrmMenu - форма подробной информации о выбранном блюде из формы менюufrmAccount - Учетная запись пользователя добавление/редактирование формыufrmAddToCart - форма для добавления/удаления модификаторов выбранного блюда в/из менюufrmOptionsList - это форма, которая отображается и позволяет клиенту выбирать дополнительные модификаторы блюда (добавки). Такие как соус, горчица и т. Д.uDMUnitТеперь мы будем подробно проанализировать, как организована работа с данными приложения. Кроме того, мы рассмотрим методы вывода данных в ListBox и другие графические элементы форм заявок. Данные тестирования приложения, для примера, реализованы с использованием компонента TFDMemtable. В этом случае список полей не ограничен, и вам не нужно использовать именно этот компонент в вашем проекте. Любая цифровая или Tdataset должна быть в порядке. Эта версия шаблона предполагает возможность запустить приложение на любой платформе.
В модуле данных uDMUnit приложения был создан ряд методов, которые необходимы только для заполнения компонентов TFDMemTable с помощью тестовых данных. Вам не понадобятся эти методы, и вы их удаляете. Тем не менее, во время изучения нашего шаблона они помогут вам визуально понять, какие данные и какие данные вам понадобятся от бэкэнда, или вы можете выбрать из своей базы данных, чтобы использовать их в шаблоне. Так что шаблон будет работать правильно с данными, которые вы отправили.
Стили всех компонентов, представленных в стиле, на основной форме шаблона Frmmain можно изменить по своему желанию. Поэтому, если необходимо, или если вам нужно отобразить дополнительные данные в определенном компоненте, вы можете легко переделать существующие стили и подготовить приложение для ваших потребностей.
Чтобы ваши данные, а не тестовые данные, были отображены в визуальных элементах TListBox , вам необходимо загрузить ваши данные в TFDMemTable , расположенную на модуле данных или внести изменения в метод заполнения их, когда модуль данных инициализируется (реализация ваших методов получения данных из бэкэнда или из базы базы). Ниже приведены все методы, которые заполняют TFDMemTables с помощью тестовых данных при запуске приложения:
InsertTestDataForTheMenu ();InsertTestDataForTheCoupons ();InsertTestDataForTheGallery ();InsertTestDataForTheOptions ();InsertTestDataForAboutUs ();InsertTestDataForContactInfo (); Из названия методов ясно, какой из них отвечает за заполнение той или иной формы тестовыми данными. Изучив любой из методов, становится ясно, какой из TFDMemTable используется для какой формы. * *
MenuListTable - Использование в формах ufrmmenu и ufrmcartCouponsListTable - Использование в форме UFRMCouponsGalleryListTable - Использование в форме UFRMGalleryOptionsListTable - Использование в формах Ufrmoptionslist и UfrmaddtocartAboutUsTable - Использование в Ufrmaboutus и Ufrmgetstarted FormsAboutUsDesciptionTable - Использование в Ufrmaboutus и UfrmgetStarted Forms Чтобы добавить изображения в TFDMemTables , используйте TImageLists с изображениями, уже загруженными в них. Это делается для того, чтобы продемонстрировать, как загрузить изображение в компоненты семейства TQuery и показать, как загружать изображения с полей типа TBlob в элементы графических элементов управления в форме. Такой, например, как TListBox .
Загрузка данных из TFDMemTables в графические элементы управления реализована в каждой форме отдельно. Список имен методов приведен ниже:
TfrmAboutUs.BuildAboutUsInfo ();TfrmAboutUs.BuildContsctInfoList ();TfrmAddToCart.BuildForm ();TfrmAddToCart.BuildOptionsList ();TfrmCart.BuildCartList ();TfrmCoupons.LoadCouponsList ();TfrmGallery.LoadGalleryList ();TfrmGetStarted.ShowInfoAboutRestaurant ();TfrmGetStarted.BuildContsctInfoList ();TfrmMenu.LoadMenuList ();TfrmOptionsList.BuildOptionsList (); Корзина для покупок реализована с использованием множества записей, представленных в качестве класса TCartList . Блюда и их модификаторы добавляются в этот массив с таким или другим типом TCartItemType . И соединение между блюдом и модификаторами организуется через Index параметров, OwnerIndex класса TCartList .
Для удобства работы с тележкой реализовано несколько методов:
AddItemToCart(aItemId: int64 = 0;aOwnerID: int64 = 0;const aItemName: string = '';aItemType: TCartItemType = citItem;aQuantity: Extended = 1;aItemPrice: Extended = 0;aOwnerIndex: Integer = -1): Integer;DelItemFromCart(aItemIndex: Integer = 0); ClearCart();GetCartTotalAmount(): Extended;В любом случае, вы можете изменить эти методы, как вам нравится, или написать свои собственные методы для заполнения форм и их визуальных компонентов с данными. Методы, приведенные в шаблоне, показывают, как реализовано заполнение данных визуальных элементов шаблона, а также редактирование этих данных. Приведенные выше методы предоставляют способы назначения методов обработки клика для tlistboxitems или кнопок, расположенных внутри Tlistboxitems. После анализа этих методов вы заметите, что свойство TAG используется для передачи идентификаторов записи или элемента.
Каждый из шаблонов в текущей реализации представляет только стилистические, графические и анимационные эффекты. И тестовые данные представлены только для понимания процессов заполнения графических элементов форм.
Значки графических элементов, используемых в шаблонах, взяты из ресурса:
Ниже приведен список интернет -ресурсов, из которых были загружены изображения для разработки появления приложения. GetStarted Form BG Изображение:
Социальные иконки: