IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Création d'un service calculatrice simple.

Ceci est un tutoriel pas à pas pour construire un simple service calculatrice, ainsi que son application cliente en utilisant Delphi XE et DataSnap.

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Création de l'application serveur

La première étape est de créer une nouvelle application serveur DataSnap, en utilisant l'assistant « Serveur DataSnap ». Démarrez Delphi XE. Sélectionnez dans le menu principal « Fichier -> Nouveau -> Autre », dans la boite de dialogue « Nouveaux éléments » double-cliquez sur l'icône « Serveur DataSnap » dans la catégorie « Projets Delphi -> Serveur DataSnap ».

Image non disponible
Image non disponible

Dans le premier onglet, laissez le « type de projet » DataSnap qui par défaut est à « Application fiches VCL ».

Image non disponible

Dans le second onglet, gardez les valeurs par défaut. Plus tard nous allons remplacer, les méthodes serveur exemples par nos propres implémentations.

Image non disponible

Dans le troisième onglet, nous allons garder la valeur par défaut « 211 » comme port TCP/IP à utiliser. C'est toujours une bonne idée tester le port en cliquant sur le bouton « Tester le port » pour s'assurer que le port est libre.

Image non disponible

Dans le dernier onglet, nous allons également garder la classe ancêtre par défaut des méthodes serveur qui est « TComponent ».

Cliquez sur le bouton « Terminer » et l'assistant devrait créer un nouveau projet avec trois unités.

Sauvegarder tout le projet en cliquant sur le menu « Fichier -> Tout enregistrer ».

Créez un nouveau répertoire pour tous les fichiers de ce tutoriel. Par exemple « C:\DataSnapLabs\SimpleCalc\ ».

Sauvegardez la fiche principale de l'application sous le nom « FormServerUnit » et gardez les noms de fichier par défaut pour les autres unités (« ServerContainerUnit1 » et « ServerMethodsUnit1 ») et enregistrez le projet sous le nom « SimpleCalcServer ».

À ce niveau, vous devriez avoir ceci dans le gestionnaire de projets de Delphi.

Image non disponible

Ouvrez à présent l'unité « ServerMethodsUnit1.pas » et implémentez les fonctions de notre service de calculatrice simple. Remplacez les méthodes exemples ajoutées par l'assistant (« EchoString » et « ReverseString ») avec les méthodes « Add », « Substract », « Multiply » et « Divide ».

Le code source de l'unité « ServerMethodsUnit1 » devrait ressembler à ceci :

 
Sélectionnez
unit ServerMethodsUnit1;

interface

uses
  Classes;

type
{$METHODINFO ON}
  TServerMethods1 = class(TComponent)
  private
    { Private declarations }
  public
    function Add(a, b: double): double;
    function Subtract(a, b: double): double;
    function Multiply(a, b: double): double;
    function Divide(a, b: double): double;
  end;
{$METHODINFO OFF}

implementation

{ TServerMethods1 }

function TServerMethods1.Add(a, b: double): double;
begin
  Result := a + b;
end;

function TServerMethods1.Subtract(a, b: double): double;
begin
  Result := a - b;
end;

function TServerMethods1.Multiply(a, b: double): double;
begin
  Result := a * b;
end;

function TServerMethods1.Divide(a, b: double): double;
begin
  Result := a / b;
end;

end.

Listing 1: ServerMethodsUnit1.pas

Notre serveur est à présent implémenté. Pour développer l'application cliente, le serveur doit être en cours d'exécution.

Sélectionnez le menu « Exécuter -> Exécutez sans débogage » pour démarrer le projet serveur, puis minimisez la fenêtre.

Le serveur doit être en cours d'exécution jusqu'à la fin de ce tutoriel.

II. Création de l'application cliente

Faites un clic droit sur le groupe de projets dans le gestionnaire de projets, et sélectionnez « Ajouter un nouveau projet ».

Image non disponible

À partir de la boite de dialogue « Nouveaux éléments », sélectionnez « Application fiches VCL » à partir de la catégorie « Projets Delphi ».

Image non disponible

Cliquez sur le bouton « OK ». Un nouveau projet devrait s'ajouter dans le groupe de projets.

Sauvegardez tout en cliquant sur le menu « Fichier -> Tout enregistrer ».

Naviguez vers le dossier où a été enregistré le serveur et sauvegardez-y la fiche principale de l'application cliente en tant que « FormClientUnit », le nouveau projet en tant que « SimpleCalcClient », et le groupe de projets sous le nom « SimpleCalcGrp ».

À présent, le gestionnaire de projets devrait ressembler à ceci :

Image non disponible

Assurez-vous que le projet client soit le projet actif, et à partir de la boite de dialogue « Nouveaux éléments », choisissez « Module client DataSnap ».

Image non disponible

Une fois de plus, nous allons garder les valeurs par défaut de l'assistant.

Image non disponible

Sur le premier onglet, gardez l'option « Emplacement du serveur DataSnap » à « Serveur Local ».

Image non disponible

Notre serveur DataSnap est « Stand alone », gardez donc la valeur par défaut et cliquez sur « Suivant ».

Image non disponible

Notre serveur utilise « TCP/IP » comme protocole de connexion, gardez donc le choix par défaut et cliquez sur suivant.

Image non disponible

Cliquez sur le bouton « Tester la connexion » afin de vérifier que le serveur est à l'écoute sur le port 211 et cliquez sur le bouton « Terminer ».

L'assistant ajoutera deux unités au projet client, « ClientClassesUnit1 » et « ClientModuleUnit1 ».

La dernière chose à faire dans ce tutoriel est de mettre en place l'interface utilisateur de l'application cliente.

Allons-y en utilisant l'unité « ClientModuleUnit1 » dans la fiche principale. Assurez-vous que l'unité de la fiche client est ouverte dans l'éditeur, et sélectionnez la commande de menu « Fichier -> Utiliser l'unité ».

Maintenant, dans le code de la fiche client, vous devez utiliser les méthodes exposées via la propriété « ClientModule1.ServerMethods1Client ». Ces méthodes possèdent les mêmes noms et les mêmes signatures que les méthodes disponibles sur le serveur.

Voici l'implémentation de la fiche principale de l'application cliente.

 
Sélectionnez
unit FormClientUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm3 = class(TForm)
    EditA: TEdit;
    ButtonAdd: TButton;
    EditB: TEdit;
    ButtonSub: TButton;
    ButtonMult: TButton;
    ButtonDiv: TButton;
    LabelResult: TLabel;
    procedure ButtonAddClick(Sender: TObject);
    procedure ButtonSubClick(Sender: TObject);
    procedure ButtonMultClick(Sender: TObject);
    procedure ButtonDivClick(Sender: TObject);
  private
    { Private declarations }
  public
    function GetA: double;
    function GetB: double;
    procedure ShowResult(aValue: double);
  end;

var
  Form3: TForm3;

implementation

uses ClientModuleUnit1;

{$R *.dfm}

function TForm3.GetA: double;
begin
  Result := StrToFloat(EditA.Text);
end;

function TForm3.GetB: double;
begin
  Result := StrToFloat(EditB.Text)
end;

procedure TForm3.ShowResult(aValue: double);
begin
  LabelResult.Caption := FloatToStr(aValue);
end;

procedure TForm3.ButtonDivClick(Sender: TObject);
begin
  ShowResult(ClientModule1.ServerMethods1Client.Divide(GetA, GetB));
end;

procedure TForm3.ButtonMultClick(Sender: TObject);
begin
  ShowResult(ClientModule1.ServerMethods1Client.Multiply(GetA, GetB));
end;

procedure TForm3.ButtonSubClick(Sender: TObject);
begin
  ShowResult(ClientModule1.ServerMethods1Client.Subtract(GetA, GetB));
end;

procedure TForm3.ButtonAddClick(Sender: TObject);
begin
  ShowResult(ClientModule1.ServerMethods1Client.Add(GetA, GetB));
end;

end.

Listing 2 : Implémentation de la fiche principale du client.

Le client final devrait ressembler à ceci :

Image non disponible

Et voilà !

Vous avez certainement constaté combien il est simple de créer des serveurs et des clients DataSnap à l'aide de Delphi XE.

III. Conclusion

Dans ce tutoriel, nous avons utilisé Delphi XE pour construire un service de calculatrice simple DataSnap XE consistant en une application native Win32 serveur et un client communicant ensemble via le protocole TCP/IP.

Le code source complet de cet article est disponible en téléchargement à l'adresse : http://cc.embarcadero.com/Item/28184.

Les versions vidéo des étapes décrites dans ce tutoriel peuvent être visionnées sur YouTube (http://www.youtube.com/watch?v=Qm__RdmIWSg).

Pour plus d'informations sur Delphi, consultez les pages : http://www.embarcadero.com/products/delphihttp://delphi.developpez.com

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+