Tutoriel : Implémentation de votre première application client FireDAC RAD Server

De RAD Studio
Aller à : navigation, rechercher

Remonter à Application client de RAD Server


Vous pouvez créer un client pour établir une connexion avec le serveur EMS via l'API de développeur FireDAC que vous avez précédemment installée en utilisant un package EMS.

Il s'agit d'un exemple d'application client basé sur la ressource créée dans Tutoriel : Implémentation d'une ressource EMS FireDAC.

Créez une application VCL et ajoutez un TDataModule au projet :

  • Pour Delphi :


  1. Fichier > Nouveau > Application Fiches VCL - Delphi.
  2. Dans le Gestionnaire de projets, cliquez avec le bouton droit sur Ajouter nouveau > Autre > Nouveaux éléments.
  3. Choisissez Projets Delphi > Fichiers Delphi > Module de données et cliquez sur OK.
  • Pour C++ :


  1. Fichier > Nouveau > Application Fiches VCL - C++Builder.
  2. Dans le Gestionnaire de projets, cliquez avec le bouton droit sur Ajouter nouveau > Autre > Nouveaux éléments.
  3. Choisissez Projets C++Builder > Fichiers C++Builder > Module de données et cliquez sur OK.

Sur le TDataModule, placez les composants FireDAC dont vous avez besoin pour passer aux données JSON à partir du serveur EMS.

Ajoutez les composants suivants :

  • Un composant TFDGUIxWaitCursor.
  • Un composant TFDSchemaAdapter - pour adapter le résultat de l'objet JSON.
  • Deux composants TFDTableAdapter - pour adapter le contenu des deux tables.
    • Dans la propriété DatSTableName définissez le nom des TFDQueries à partir du TDataModule. Pour ce tutoriel, utilisez QEmployee et QCustomers.
    • Dans la propriété SchemaAdapter, définissez le nom du TFDSchemaAdapter.
  • Deux composants TFDMemTable.
    • Définissez les noms sur mtEmployees et mtCustomers.
    • Dans la propriété Adapter, définissez le nom du TFDTableAdapter correspondant.
    • Définissez la propriété CachedUpdates sur True. Vous devez activer cette option pour mettre à jour les informations à partir des tables.
  • Deux composants TDataSource.
    • Dans la propriété DataSet définissez le nom du TFDMemTable correspondant.
ClientModuleSample.png

Dans la fiche client, incluez le TDataModule dans la section implementation :

  • Pour Delphi :
implementation

{$R *.dfm}

uses Unit3;
  • Pour C++ (dans le fichier Unit1.cpp) :
#include "Unit2.h"

Ajoutez les composants suivants à la fiche client :

  • Deux composants TDBGrid pour afficher et mettre à jour les données à partir des tables.
    • Définissez la propriété DataSource sur la source de données dans le TDataModule. Cette étape est nécessaire pour afficher les données sur la grille.
  • Deux composants TButton : l'un pour obtenir les données, l'autre pour valider les mises à jour.
  • Un composant TEMSProvider pour définir la configuration sur le serveur EMS.
    • Définissez la propriété URLHost sur l'IP du serveur, localhost par défaut.
    • Définissez la propriété URLPort sur le port du serveur, 8080 par défaut.
  • Un TEMSFireDACClient pour établir la connexion avec le TFDSchemaAdapter à partir du TDataModule client.
    • Définissez la propriété Provider sur le nom du TEMSProvider.
    • Définissez la propriété Resource sur le nom de la ressource à laquelle vous souhaitez accéder. Pour ce tutoriel, utilisez FireDACTest.
    • Définissez la propriété SchemaAdapter sur le nom du TFDSchemaAdapter à partir du TDataModule, par exemple ClientModule.FDSchemaAdapter2.
  • Un composant TActionList pour définir les actions permettant d'obtenir et de mettre à jour les données.
    • Cliquez avec le bouton droit et sélectionnez Editeur de liste d'actions....
    • Créez deux nouvelles actions et redéfinissez la propriété name des actions sur ActionGetTables et ActionPostUpdates.
    • Double-cliquez sur le gestionnaire d'événement OnExecute des actions pour créer les procédures.

Ecrivez le code pour la procédure GetTablesExecute :

  • Pour Delphi :
procedure TClientForm.ActionGetTablesExecute(Sender: TObject);
begin
  EMSFireDACClient1.GetData;
end;
  • Pour C++ (dans le fichier Unit1.cpp) :
void __fastcall TForm1::ActionGetTablesExecute(TObject *Sender) {
	EMSFireDACClient1->GetData();
}

Ecrivez le code pour la procédure PostUpdatesExecute :

  • Pour Delphi :
procedure TClientForm.ActionPostUpdatesExecute(Sender: TObject);
begin
  EMSFireDACClient1.PostUpdates;
end;
  • Pour C++ (dans le fichier Unit1.cpp) :
void __fastcall TForm1::ActionPostUpdatesExecute(TObject *Sender) {
	EMSFireDACClient1->PostUpdates();
}
  • Définissez la propriété Action du bouton Get Tables sur ActionGetTables et le gestionnaire d'événement OnClick sur ActionGetTablesExecute.
  • Définissez la propriété Action du bouton Post Updates sur ActionPostUpdates et le gestionnaire d'événement OnClick sur ActionPostUpdatesExecute.

Test de la nouvelle application EMS FireDAC

Pour tester votre projet dans un environnement de développeur, assurez-vous que la ressource EMS FireDAC s'exécute sur votre serveur EMS.

  1. Pour exécuter votre projet, appuyez sur F9 ou choisissez Exécuter > Exécuter.
  2. Cliquez sur le bouton ActionGetTables pour récupérer les données de la base de données.
  3. Mettez à jour les valeurs et cliquez sur ActionPostUpdates pour enregistrer les nouvelles données dans la base de données.

Voir aussi