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


La fiche client est affichée à l'écran. La fonction EcranVersFichier permet de charger les valeurs saisies en mémoire.



//Ajout d'un enregistrement dans un fichier client
EcranVersFichier()
SI PAS HAjoute (CLIENT) ALORS
   Erreur("Impossible d'ajouter le client")
FIN


Un fichier "Client" est créé ainsi que son alias.
Dans le fichier CLIENT
, un nouvel enregistrement est créé en fixant l'identifiant automatique (IDCLIENT) à 1001.
Dans l'alias ALIASCLIENT
, la gestion des identifiants automatique par défaut est conservée : l'identifiant automatique démarre à 1.

Les enregistrements sont copiés de l'alias au fichier CLIENT grâce à la fonction HCopieEnreg . L'identifiant automatique de l'enregistrement est conservé lors de la copie (paramètre hCopieIdAuto ). L'enregistrement copié est alors ajouté au fichier CLIENT. Les risques de doublons sont minimisés.



// Création du fichier CLIENT
HCréation(CLIENT)
// Affectation de l'identifiant automatique
CLIENT.IDCLIENT=1001
// Ajout d'un enregistrement dans un fichier client sans
// calcul de l'identifiant automatique
// On réserve les 1000 premiers enregistrements
SI PAS HAjoute (CLIENT, h FixeIdAuto ) ALORS
    Erreur("Impossible d'ajouter le client")
    // détailler l'erreur en testant HerreurDoublon, HerreurIntegrite
    // HErreurBlocage
FIN
// Création de l'alias
HAlias(CLIENT,ALIASCLIENT)
HCreation(ALIASCLIENT)
// ajout d'enregistrements dans l'alias ALIASCLIENT
// (l'identifiant automatique sera égal à 1)
SI PAS HAjoute(ALIASCLIENT) ALORS
   Erreur("Impossible d'ajouter le client")
   // détailler l'erreur en testant HerreurDoublon, HerreurIntegrite
   // HErreurBlocage
FIN

// autres ajouts
...

// copie des clients de ALIASCLIENT dans CLIENT
i est un entier = 1
HLit(ALIASCLIENT,i)
// Copie de l'enregistrement tant que des enregistrements sont présents dans l'alias
// et que l'identifiant ne dépasse pas 1000
TANTQUE PAS HEnDehors(ALIASCLIENT) ET ALIASCLIENT.IDClient < 1001
   // copie l'enregistrement de ALIASCLIENT dans CLIENT
   HCopieEnreg(CLIENT,ALIASCLIENT, h CopieIdAuto )
   // Ajout de l'enregistrement
   SI PAS HAjoute(CLIENT, h FixeIdAuto ) ALORS
      Erreur("Impossible d'ajouter le client")
      // détailler l'erreur en testant HerreurDoublon, HerreurIntegrite
      // HErreurBlocage
   FIN
   // prochain enregistrement de l'alias
   i++
   HLit(ALIASCLIENT,i)
FIN