4e Dimension en tant que client DDE

4D - Documentation   Français   English   German   DDE_Tools, Commandes par thèmes   DDE_Tools, Index   Retour   Précédent   Suivant

version 6.0


Nous vous proposons de suivre quelques exemples qui illustrent le fonctionnement de 4D en tant que client DDE. Avant de débuter nos exemples, il est une règle à laquelle il ne faut jamais déroger. En effet, toute communication doit débuter par une initialisation et être refermée en fin d'échange. Les fonctions qui vous permettront d'accomplir ces deux actions sont respectivement :

DDE_Initiate

DDE_Terminate

Note : Il existe également la commande DDE_TERMINEALL qui ferme toutes les connexions établies.

Recevoir des données

Nous souhaitons connaître le contenu de la cellule nommée "Ventes" dans le document SPREAD.XLS et l'attribuer à la variable vVentes. Avant toute chose, vérifiez que l'application Excel est lancée et que le document SPREAD.XLS est ouvert. Il est indispensable de refermer le canal à la fin de vos échanges à l'aide de la fonction DDE_Terminate.

Ces quelques lignes de code pourront être saisies, par exemple, dans la méthode d'un bouton :

   Canal:=DDE_Initiate("Excel";"C:\SPREAD.XLS")
   Err:=DDE_Request(Canal;"Ventes";vVentes)
   Err:=DDE_Terminate (Canal)
   ALERTE("Ventes lues dans Excel : "+vVentes)

Note : La cellule Ventes doit bien entendu exister dans le document. Pour désigner une cellule quelconque, utilisez par exemple la forme "L2C3" (deuxième ligne de la troisième colonne).

Envoyer des données

Nous allons maintenant non plus lire mais écrire la valeur lue précédemment dans la cellule "Ventes" de Excel.

   Canal:=DDE_Initiate("Excel";"C:\SPREAD.XLS")
   vVentes:=Demander("Ventes à envoyer à Excel ?")
   Err:=DDE_Poke(Canal;"Ventes";vVentes)
   Err:=DDE_Terminate (Canal)

Demander l'exécution d'une commande

Nous allons maintenant demander à Excel de créer un nouveau document :

Note : Le protocole DDE spécifie que les commandes sont à envoyer entre crochets. Vous pouvez inclure plusieurs commandes dans la même requête.

Référence

4e Dimension en tant que serveur DDE.


4D - Documentation   Français   English   German   DDE_Tools, Commandes par thèmes   DDE_Tools, Index   Retour   Précédent   Suivant