pictogram Auteur: Patrick Biker
Date: 18 mars 2006
Maj : 21 Mars 2015

Exemples évolués

Chaque exemple montre une utilisation pratique de la fonction du WLangage.

Quand plusieurs syntaxes sont possibles, chacune est illustrée indépendamment.

Revenir à la page des exemples évolués


L'exemple suivant permet de fusionner les fichiers CLIENT et CLIENT2. Les caractéristiques de ces fichiers sont les suivantes :

- les rubriques NOM, PRENOM sont des chaînes dans les deux fichiers

- le code client CODECLI est un entier dans CLIENT.FIC

- le code client CODECLI est une chaîne dans CLIENT2.FIC

- la rubrique ADRESSE n'existe que dans CLIENT2

Après l'exécution de ce code, l'entier CODECLI du fichier CLIENT.FIC a été converti en chaîne dans le fichier CLIENT2.FIC selon les règles de conversion du W-Langage. ADRESSE a été initialisée à sa valeur par défaut dans tous les enregistrements recopiés dans CLIENT2.



// visualiser le nombre d'enregistrements dans CLIENT2.FIC
Trace(HNbEnr(CLIENT2))
HLitPremier(CLIENT, NOM)
//parcourir les enregistrements du fichier CLIENT.FIC
TANTQUE PAS HEnDehors(CLIENT)
  //ajouter l'enregistrement dans le fichier CLIENT2
  HCopieEnreg (CLIENT2, CLIENT, h ValDefaut )
  HAjoute(CLIENT2)
   // visualiser le nouveau nombre d'enregistrements
  Trace(HNbEnr(CLIENT2))
  // passer à l'enregistrement suivant
 HLitSuivant(CLIENT, NOM)
FIN


Le code suivant permet de copier un enregistrement du fichier CLIENT vers le fichier CLIENT2. Ces deux fichiers contiennent trois rubriques communes :

- NOM, PRENOM sont des chaînes de caractères dans les 2 fichiers

- le code client CODECLI est l'identifiant automatique dans les deux fichiers

L'enregistrement du client Dupond présent dans le fichier CLIENT doit être recopié dans le fichier CLIENT2. L'utilisation de la fonction HModifie permet de conserver l'identifiant automatique (la fonction HAjoute aurait généré un nouvel identifiant automatique, et donc n'est pas utilisée dans cet exemple).



HLitRecherchePremier(CLIENT, "Dupond")
HCopieEnreg (CLIENT2, CLIENT, hCopieIdAuto + hValDefaut )
HModifie(CLIENT2) // HModifie conserve l'identifiant automatique


Le code suivant permet de copier tous les enregistrements du fichier CLIENT vers le fichier CLIENTBIS.

L'identifiant automatique est recopié, et sa valeur est conservée lors de l'ajout (paramètre hFixeIdAuto dans la fonction HAjoute ).



// Transfert des enregistrements du fichier 'CLIENT' vers le fichier 'CLIENTBIS'
EXTERNE ClientBis
HAlias(CLIENT,"CLIENTBIS")
HCréationSiInexistant("CLIENTBIS")
HLitPremier(CLIENT,CLCLEUNIK)
TANTQUE PAS HEnDehors(CLIENT)
   HCopieEnreg (CLIENTBIS,CLIENT, hCopieIdAuto )
   HAjoute(CLIENTBIS, hFixeIdAuto )
   HLitSuivant(CLIENT,CLCLEUNIK)
FIN


Le code suivant permet de copier un enregistrement du fichier CLIENT vers le fichier CLIENT2. Les caractéristiques de ces fichiers sont les suivantes :

- NOM, PRENOM sont des chaînes dans les deux fichiers

- IDAUTO est l'identifiant automatique dans les deux fichiers

- le code client CODECLI est un entier et n'existe que dans CLIENT

- la rubrique ADRESSE n'existe que dans CLIENT2

- la rubrique IDENTIFIANTCLIENT est une chaîne et n'existe que dans CLIENT2

Cet exemple a pour but :

- la copie du fichier CLIENT dans le fichier CLIENT2 en recopiant le code client CODECLI dans IDENTIFIANTCLIENT.

- la conservation de la valeur de l'identifiant automatique IDAUTO.

- l'initialisation de l'adresse ADRESSE par sa valeur par défaut.



HCreation(CLIENT2)
HLitPremier(CLIENT, NOM)
//parcourir les enregistrements du fichier CLIENT.FIC
TANTQUE PAS HEnDehors(CLIENT)
    //ajouter l'enregistrement dans le fichier CLIENT2
   HCopieEnreg(CLIENT2, CLIENT, ...
          "NOM, PRENOM, IDAUTO, CODECLI", ...
          "NOM, PRENOM, IDAUTO, IDENTIFIANTCLIENT",...
          hValDefaut + hCopieIdAuto )
  HModifie(CLIENT2)
  // passer à l'enregistrement suivant
  HLitSuivant(CLIENT, NOM)
FIN