Modelo FMX para pedidos de restaurantes on -line
O objetivo de criar esse modelo é que você, como desenvolvedor do aplicativo de pedidos on -line, já tenha o design principal do aplicativo com funcionalidade básica pronta. Você só precisa conectar seu back -end ao aplicativo e configurar a saída do seu conteúdo nos métodos existentes para produzir dados para controles gráficos usando nossos estilos. Além disso, é claro, existe a capacidade de implementar independentemente o restante da funcionalidade, que é adequado exclusivamente para o seu restaurante.
O modelo consiste em um datamoduls, 10 formas funcionais e a forma principal, que exibe a maioria das formas funcionais dentro dele.
Quando o aplicativo é iniciado, o formulário de início ( ufrmGetStarted ) é iniciado. Ele exibe o nome do seu restaurante e informações básicas de contato. Também à direita das informações de contato, existem botões que permitem ao usuário fazer uma chamada de uma das listas de aplicativos disponíveis. Além disso, existe a capacidade de enviar um email para o endereço de correspondência do seu restaurante usando um dos aplicativos propostos. Na parte inferior do formulário, há um botão de início. Ao clicar neste botão, você será redirecionado para o formulário principal ( ufrmMain ) do aplicativo.
A forma principal do aplicativo, na inicialização, carrega e exibe imediatamente o formulário do painel ( ufrmDashboard ). Todos os formulários carregados no menu lateral do formulário principal ou através dos botões duplicados do formulário do painel são exibidos nas páginas do componente TTabControl . Isso permite que você use o menu principal do programa em todos os formulários, quando necessário. Ele também permite gerenciar formas e transições efetivamente entre elas de uma forma através de um único mecanismo. O método principal usado para criar formulários, exibir seu conteúdo nas páginas TTabControl da forma principal, bem como atribuir funcionalidade aos controles desses formulários, é realizada no método LoadScreenByName() . Estude e os métodos chamados dele, e você descobrirá como a lógica para exibir formulários no aplicativo é criada.
Os formulários implementados neste modelo:
ufrmMain - o formulário principalufrmCart - Formulário de carrinhoufrmCoupons - Formulário de cupons de descontoufrmDashboard - Formulário de painelufrmGallery - Galeria forma de restauranteufrmGetStarted - tela de boas -vindasufrmAboutUs - sobre nós formaufrmMenu - a forma de informações detalhadas sobre o prato selecionado no formulário de menuufrmAccount - Formulário de Adição/Edição de Conta de UsuárioufrmAddToCart - formulário para adicionar/remover modificadores do prato selecionado de/para o menuufrmOptionsList - é um formulário que exibe e permite que o cliente selecione modificadores de prato adicionais (aditivos). Como molho, mostarda, etc.uDMUnitAgora, analisaremos com mais detalhes como o trabalho com os dados do aplicativo está organizado. Além disso, consideraremos os métodos para a saída de dados no ListBox e outros elementos gráficos dos formulários de aplicativos. Os dados do teste do aplicativo, por exemplo, são implementados usando o componente TFDMEMTABLE. Nesse caso, a lista de campos não é limitada e você não precisa usar exatamente esse componente em seu projeto. Qualquer Tquey ou TdataSet deve estar bem. Esta versão do modelo assume a capacidade de executar o aplicativo em qualquer plataforma.
No módulo de dados uDMUnit do aplicativo, foram criados vários métodos necessários apenas para preencher os componentes TFDMemTable com dados de teste. Você não precisará desses métodos e os excluirá. No entanto, durante o estudo do nosso modelo, eles o ajudarão a entender visualmente quais dados e que tipo de dados você precisará receber do seu back -end ou você poderá escolher entre o seu banco de dados para usá -los no modelo. Para que o modelo funcione corretamente com os dados que você enviou.
Estilos de todos os componentes que são apresentados no StyleBook na forma principal do modelo FRMMAIN podem ser alterados como você deseja. Portanto, se necessário, ou se você precisar exibir dados adicionais em um componente específico, poderá refazer facilmente os estilos existentes e preparar o aplicativo para suas necessidades.
Para que seus dados, em vez dos dados de teste, sejam exibidos nos elementos visuais TListBox , você precisa fazer o upload de seus dados para o TFDMemTable localizado em um módulo de dados ou fazer alterações no método de preenchê -lo quando o módulo de dados é inicializado (implementando seus métodos de recebimento de dados do back -end ou do tatabase). A seguir, são apresentados todos os métodos que preenchem TFDMemTables com os dados de teste na inicialização do aplicativo:
InsertTestDataForTheMenu ();InsertTestDataForTheCoupons ();InsertTestDataForTheGallery ();InsertTestDataForTheOptions ();InsertTestDataForAboutUs ();InsertTestDataForContactInfo (); A partir do nome dos métodos, fica claro qual é o responsável por preencher um formulário ou outro com os dados de teste. Tendo estudado qualquer um dos métodos, fica claro qual do TFDMemTable é usado para qual formulário. * *
MenuListTable - Usando os formulários UfrmMenu e UfrmCartCouponsListTable - Usando no formulário UFRMCOUPONSGalleryListTable - Usando no formulário UFRMGALLERYOptionsListTable - usando os formulários UFRMOPTionsList e UfrmaddtocartAboutUsTable - usando os formulários Ufrmaboutus e UfrmgetStardAboutUsDesciptionTable - Usando nos formulários Ufrmaboutus e UfrmgetStard Para adicionar imagens aos TFDMemTables , use TImageLists com imagens já carregadas nelas. Isso é feito para demonstrar como carregar uma imagem nos componentes da família TQuery e mostrar como carregar imagens de campos do tipo TBlob nos elementos dos controles gráficos no formulário. Tais, por exemplo, como TListBox .
O carregamento de dados do TFDMemTables em elementos de controle gráfico é implementado em cada formulário separadamente. Uma lista de nomes de métodos é fornecida abaixo:
TfrmAboutUs.BuildAboutUsInfo ();TfrmAboutUs.BuildContsctInfoList ();TfrmAddToCart.BuildForm ();TfrmAddToCart.BuildOptionsList ();TfrmCart.BuildCartList ();TfrmCoupons.LoadCouponsList ();TfrmGallery.LoadGalleryList ();TfrmGetStarted.ShowInfoAboutRestaurant ();TfrmGetStarted.BuildContsctInfoList ();TfrmMenu.LoadMenuList ();TfrmOptionsList.BuildOptionsList (); O carrinho de compras é implementado usando uma variedade de registros, apresentada como uma classe TCartList . Os pratos e seus modificadores são adicionados a essa matriz com um ou outro tipo de TCartItemType . E a conexão entre o prato e os modificadores é organizada através do Index de parâmetros, OwnerIndex da classe TCartList .
Para a conveniência de trabalhar com o carrinho, vários métodos são implementados:
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;De qualquer forma, você pode alterar esses métodos como quiser ou escrever seus próprios métodos para preencher os formulários e seus componentes visuais com os dados. Os métodos fornecidos no modelo mostram apenas como o preenchimento dos dados dos formulários de modelo elementos visuais é implementado, bem como a edição desses dados. Os métodos acima fornecem maneiras de atribuir métodos de processamento de cliques a TlistBoxItems ou botões localizados dentro do TlistBoxItems. Após analisar esses métodos, você notará que a propriedade TAG é usada para transferir os identificadores do registro ou item.
Cada um dos modelos na implementação atual representa apenas efeitos estilísticos, gráficos e de animação. E os dados de teste são apresentados apenas para entender os processos de preencher elementos gráficos dos formulários.
Os ícones de elementos gráficos usados nos modelos são retirados do recurso:
Abaixo está uma lista de recursos da Internet dos quais as imagens foram baixadas para projetar a aparência do aplicativo. Getstarted Form BG Image:
Ícones sociais: