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.
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
|