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

Des exemples d'utilisation des fonctions du WLangage

Rien de tel qu'un exemple pour comprendre une fonction de WLangage. Dans cette section, vous trouverez des exemples simples.

Des exemples évolués, où la fonction est utilisée en contexte, sont également disponible sur ce site.

Aller à la page des exemples évolués

EcranVersFichier (en anglais ScreenToFile)

// Clic sur le bouton "Ajouter"
EcranVersFichier ()
HAjoute ( Client )
SI HDoublon () ALORS Erreur ( "Ce numéro existe déjà" )


Début de la page

EspaceSignificatif (en anglais WithSpace)

// Gère les espaces significatifs (ajoute des espaces)
// pour tous les fichiers
EspaceSignificatif
( Vrai )


Début de la page

FichierVersEcran (en anglais FileToScreen)

HLitRecherchePremier(CLIENT, NOM, "PAUL")
SI hTrouve() ALORS
    FichierVersEcran ()
FIN
// Lecture de l'enregistrement et
// transfert des rubriques vers les champs
HLitPremier(CLIENT, NOM)
FichierVersEcran


Début de la page

FichierVersPage (en anglais FileToPage)

HLitRecherchePremier(CLIENT, NOM, "PAUL")
SI HTTrouve() ALORS
  FichierVersPage ()
FIN

// Lecture de l'enregistrement et
// transfert des rubriques vers les champs
HLitPremier(CLIENT,NOM)
FichierVersPage


Début de la page

HActiveFiltre (en anglais HActivateFilter)

// Déclaration du filtre :sélection des clients
// qui ont entre 20 et 60 ans
HFiltre (CLIENT,AGE,20,60)
...
HDésactiveFiltre(CLIENT) // Filtre désactivé
...
// Parcours du fichier avec filtre sur l'âge
// Traitement des clients qui ont entre 20 et 60 ans
// (procédure TraiteClient2060)
HActiveFiltre (CLIENT)
HLitPremier(CLIENT,AGE)
TANTQUE HTrouve(CLIENT)
   TraiteClient2060()
   HLitSuivant(CLIENT,AGE)
FIN


Début de la page

HActiveFiltreAuto (en anglais HActivateAutoFilter)

// Activation de tous les filtres auto possible du fichier CLIENT
HActiveFiltreAuto ("CLIENT", "*" )
// sauf entre CLIENT et COMMANDE
HDesactiveFiltreAuto ("CLIENT", "COMMANDE" )

/////////////////////////////

// Parcours des commandes
HLitPremier("COMMANDE", "IDCOMMANDE")
TANTQUE PAS HEnDehors()
// parcours les ligne de commande de la commande en cours
     HLitPremier("LIGNECOMMANDE", "IDCOMMANDE")
     TANTQUE PAS HEnDehors()
         HLitSuivant("LIGNECOMMANDE", "IDCOMMANDE")
     FIN
    // Commande suivante
    HLitSuivant("COMMANDE", "IDCOMMANDE")
FIN


Début de la page

HAjoute (en anglais HAdd)

// Ajout d'un enregistrement dans un fichier
// (enregistrement décrit par programmation)
Client.Nom = "Moulin"
Client.Prenom = "François"
Client.Adresse = "Impasse de la belle"
Client.Ville = "Montpellier"
Client.CodeP = "34000"
Client.Pays = "France"
HAjoute (Client)


Début de la page

HAjoute (en anglais HAdd)

// Ajout d'un enregistrement saisi dans une fenêtre
// dans le fichier Client
EcranVersFichier()

HAjoute (Client)


Début de la page

HAlias (en anglais HAlias)

Commande2000 est une source de données
// Création d'un alias du fichier COMMANDE
SI HAlias (Commande,Commande2000)= Vrai ALORS
   // Commande2000 peut maintenant être utilisé
   // dans les traitements.
   // Il se comporte comme le fichier COMMANDE
   // décrit dans l'analyse.
   // Nom du fichier physique associé :
   // nom par défaut Commande2000.
   HCréationSiInexistant(Commande2000)
FIN


Début de la page

HAnnuleAlias (en anglais HCancelAlias)

// Crée 2 alias sur le fichier CLIENT
HAlias(CLIENT,CLIENT1)
HAlias(CLIENT,CLIENT2)
// Annule le premier alias
HAnnuleAlias (CLIENT1)


Début de la page

HAnnuleDeclaration (en anglais HCancelDeclaration)

// Le fichier CLIENT a été précédemment déclaré
// dans l'analyse par la fonction HDéclareExterne.
HFerme(Client)
HAnnuleDéclaration (Client)


Début de la page

HAnnuleRecherche (en anglais HCancelSeek)

// Recherche des clients à partir du client "Martin"
HLitRecherchePremier(CLIENT,Nom,"Martin")
SI HTrouve(CLIENT) = Vrai ALORS
   // Elément trouvé : on annule la recherche
   HAnnuleRecherche (Client, Nom)
   SI ErreurDétecté = Vrai ALORS
      Erreur(HErreurInfo())
      RETOUR
   FIN
   TANTQUE hEnDehors(CLIENT) = Faux
       // Traitement
       ...
       // Lecture du suivant sans utiliser le critère de recherche
       HLitSuivant
(Client, Nom)
    FIN
FIN


Début de la page

HAttacheMemo (en anglais HLinkMemo)

// Attache une image à l'enregistrement
HAttacheMémo (Produit,Img_Produit,"C:\Images\Produit1.bmp", hMémoImg )
// Transfère le contenu des champs dans le buffer du fichier
EcranVersFichier()
// Ajoute l'enregistrement
HAjoute(Produit)


Début de la page

HAvance (en anglais HForward)

// Avance jusqu'au 2000ième enregistrement
// du fichier CLIENT selon la clé NOMCLI
HLitPremier(CLIENT, NOMCLI)
HAvance (CLIENT, NOMCLI, 1999 )


Début de la page

HAvance (en anglais HForward)

// Test du compte rendu de la fonction HAvance
// Avance jusqu'au 2000ième enregistrement
// du fichier CLIENT selon la clé NOMCLI
HLitPremier(CLIENT, NOMCLI)
SI HAvance (CLIENT, NOMCLI, 1999, HBlocageEcriture )= Faux ALORS
   
SI HErreurBlocage() ALORS
      
 Info("Cet enregistrement est en cours d'utilisation")
   SINON
      Erreur(HErreurInfo())
   FIN
FIN


Début de la page

HBloqueFichier (en anglais HLockFile)

// Blocage du fichier CLIENT
SI HBloqueFichier (CLIENT, HBlocageLectureEcriture )= Faux ALORS

   SI HErreurBlocage() = Vrai ALORS
     
E
rreur("Opération impossible")

   FIN
FIN
// Traitement sur le fichier ...
...
// Redonner l'accès au fichier
HDébloqueFichier()


Début de la page

HBloqueNumEnr (en anglais HLockRecNum)

// Blocage d'un enregistrement du fichier CLIENT
HBloqueNumEnr ( CLIENT , hNumEnrEnCours , hBlocageLectureEcriture )
// Traitement sur l' enregistrement
...
// Redonner l'accès à l'enregistrement
HDébloqueNumEnr
()


Début de la page

HChangeCle (en anglais HChangeKey)

// Changement de la clé de parcours
SI PAS HChangeClé (CLIENT,NOM) ALORS
   Erreur("Sélectionnez un client dans la table")
FIN


Début de la page

HChangeConnexion (en anglais HChangeConnection)

// Décrire la nouvelle connexion
HDécritConnexion ("MaConnexion", "", "",...
                             "Serveur_SQLServer", "dbo", hOledbSQLServer , HOLectureEcriture , "")

// Ouvrir la nouvelle connexion
HOuvreConnexion("MaConnexion")

// Indiquer que "Salaires" utilise la nouvelle connexion
HChangeConnexion ("salaires", "MaConnexion")

// commencer le parcours de la table "salaires" sur SQLServer
HLitPremier("salaires")
...
// Fermer la connexion
HFermeConnexion("Salaire")

// Rétablir l'utilisation de la connexion sur Oracle
HChangeConnexion ("salaires", "")

//ouvrir la table "salaires" sur Oracle
HOuvre("salaires")


Début de la page

HChangeLocalisation (en anglais HChangeLocation)

// Recherche des fichiers dans les Bibliothèques 4, 6, et 9
HChangeLocalisation
( Fichier , hWDL , 4 , 6 , 9 )


Début de la page

HChangeNom (en anglais HChangeName)

// Création du fichier de statistiques de janvier
HChangeNom (Stat,"StatistiquesJanvier")
HCréation(Stat)


Début de la page

HChangeRep (en anglais HChangeDir)

// Création du fichier Stat dans le répertoire
// C:\Statistiques\Janvier

HChangeRep
( Stat , "C:\Statistiques\Janvier" )
HCréation
( Stat )


Début de la page

HChangeRep (en anglais HChangeDir)

// Remplacement de la base de données à utiliser pour la table "clients"
HChangeRep
( Clients , "C:\Temp\MaDBTest.mdb" )
HCréation
( Clients )
// La table "clients" a été créée dans la base de données "c:\temp\madbtest.mdb"
// La table "clients" de la base ("c:\temp\madborigine.mdb") n'a pas été modifiée


Début de la page

HChangeRep (en anglais HChangeDir)

// Substitution de répertoire en mode Hyper File Client / Serveur
// Les fichiers d'origine sont dans le répertoire
// C:\Serveur HF\BDD\FichierAppli\
// Créer une copie des fichiers dans BDD\MesFichiers\
HChangeRep (Cedex,".\MesFichiers\")
HCréationSiInexistant(Cedex)
Cedex.ville = "MONTPELLIER"
Cedex.CodePostal = 34000
SI PAS HAjoute(Cedex) ALORS Erreur(HErreurInfo)


Début de la page

HChangeRepJNL (en anglais HChangeLogDir)

// Le fichier "Client" est journalé
HChangeRepJnl (Client, "\\MonServeur\Journal\JNL", ...
               "\\MonServeur\Journal\Operation")

...
HAjoute(Client)
// -> le fichier "ClientJNL" est ouvert
// dans le répertoire "\\MonServeur\Journal\JNL"
//-> les fichiers "JournalOpération" et "JournalIdentification"
// sont ouverts dans le répertoire "\\MonServeur\Journal\Operation "

...


Début de la page

HChangeRepRPL (en anglais HChangeRPLDir)

// le fichier RPL se trouve dans le même répertoire que les fichiers de données
HChangeRepRPL
(".")

// Le RPL est dans le sous répertoire des fichiers de données \RPL
HChangeRepRPL (".\RPL")

// Le RPL est dans le répertoire "X:\Data\RPL"
HChangeRepRPL ("X:\Data\RPL")


Début de la page

HConnecte (en anglais HConnect)

HConnecte ("Salaires", "", "",...
          "C:\Mes Documents\MaBase.mdb", ...
          "Microsoft.JET.OLEDB.4.0", HOLectureEcriture )


Début de la page

HConnecte (en anglais HConnect)

HConnecte ( "Salaires" , "" , "" ,...
          "MaBase" , "Microsoft.JET.OLEDB.4.0" , HOLectureEcriture )


Début de la page

HConnecteAccesDistant (en anglais HConnectRemoteAccess)

// Ouverture de l'analyse GESTCOM via un accès distant
SI HConnecteAccèsDistant ("192.168.1.1", "User", "MotPasseUser", ...
                      "C:\GESTCOM\GESTCOM.WDD", "MotPasseGestcom") = Faux ALORS
   Erreur("Impossible d'ouvrir l'analyse sur le serveur."+ RC +...
          "Erreur rencontrée : "+HErreurInfo())
FIN


Début de la page

HConstruitValCle (en anglais HBuildKeyValue)

// Construction de la clé composée
sValRech est une chaîne = HConstruitValClé (CLIENT,NOM_PRENOM,...

              "MOULIN","Françoise")

// Construction d'une clé composée Chaine / Entier
sValRech est une chaîne = HConstruitValClé (CLIENT,NOM_NUMCLI,...
              "MOULIN",12128)

// Construction d'une clé composée Entier / Entier
sValRech est une chaîne = HConstruitValClé (COMMANDE,...
              IDCOMMANDE_IDCOMMANDE, 12119,593)


Début de la page

HConstruitValCleANSI (en anglais HBuildKeyValueANSI)

// Affectation d'une rubrique dans un fichier lié
Facture.NomClientPrénom = HConstruitValCléANSI (Client, ...
           NomClientPrénom, Client.Nom, Client.Prénom)


Début de la page

HConvertX (en anglais HConvertX)

//CleComp est composée de REFPROD (texte) et QTE (entier)
//Quantite et RefProduit sont deux champs
Rech est une chaîne
HConvertE(Rech,Quantite)
Rech=Complete(RefProduit,8)+Rech
HLitRecherche(COMMANDE,CLECOMP,Rech)


Début de la page

HCopieEnreg (en anglais HCopyRecord)

HLitPremier(CLIENT, NOM)
TANTQUE PAS HEnDehors(CLIENT)
  // Ajouter l'enregistrement dans le fichier CLIENT2
  HCopieEnreg (CLIENT2, CLIENT, HValDefaut )
  HAjoute(CLIENT2)
  // Passer à l'enregistrement suivant
  HLitSuivant(CLIENT, NOM)
FIN


Début de la page

HCreation (en anglais HCreation)

// Création du fichier commande (décrit dans l'analyse)
HCréation (Commande)


Début de la page

HCreationSiInexistant (en anglais HCreationIfNotFound)

// Création de tous les fichiers de l'analyse avec le mot de passe "PSW"
HCréationSiInexistant
( "*" , "PSW" )


Début de la page

HCreationSiInexistant (en anglais HCreationIfNotFound)

// Création du fichier commande (décrit dans l'analyse)
HCréationSiInexistant
( Commande )


Début de la page

HCreeReplicaAbonne (en anglais HCreateSubscriberReplica)

// Création du fichier de réplica maître dans le répertoire C:\RPL\Paris
// en spécifiant un nom de fichier
HCréeRéplicaMaître("C:\RPL\Paris\ReplicaParis.RPM")
// Création du réplica abonné
HCréeRéplicaAbonné("C:\RPL\Paris\", "C:\RPL\Province", 1)


Début de la page

HCreeReplicaMaitre (en anglais HCreateMasterReplica)

//Crée le fichier de réplica maître dans le répertoire C:\RPL\Paris
//en spécifiant un nom de fichier
HCréeRéplicaMaître ( "C:\RPL\Paris\ReplicaParis.RPM" )


Début de la page

HCreeReplicaMaitre (en anglais HCreateMasterReplica)

//Créé le fichier de réplica maître dans le répertoire C:\TEMP
//sans spécifier de nom de fichier
HCréeRéplicaMaître ( "C:\TEMP" )


Début de la page

HCreeReplicaMaitre (en anglais HCreateMasterReplica)

//Crée le fichier de réplica maître dans le répertoire en cours
HCréeRéplicaMaître ()


Début de la page

HCreeReplicaTransportable (en anglais HCreateMoveableReplica)

// A Montpellier : Préparation de l'envoi des messages à Paris
hCreeRéplicaTransportable("P:\MSG\MSG.RPM", "Paris", "c:\temp\MsgMPL.WDZ")
// Envoie du fichier (par FTP par exemple)
FtpEnvoie("c:\temp\MsgMPL.WDZ", "FTP.PCSOFT_PARIS.FR\MSG\MsgMPL.WDZ")
----------------
// A Paris : Récupération des messages de Montpellier
hSynchroniseReplica("Z:\MSG","\\FTPSERVEUR\MSG\MsgMPL.WDZ", RplVersMaitre )


Début de la page

HCreeVue (en anglais HCreateView)

// Création d'une vue
MaVue est une source de données
HCréeVue (MaVue,CLIENT,"*","NOM,VILLE","NOM]='A'", hVueDéfaut )


Début de la page

HDBCreation (en anglais HDBCreation)

HDBDecritFichier ( "CLIENTDB" , "CD" , "C:\FIC\CLIENT.DBF" )
HDBDecritRubrique
( "NOM,C,20" )
HDBDecritRubrique
( "PRENOM,C,20" )
HDBDecritRubrique
( "AGE,N,3,0" )
HDBDecritRubrique
( "SOLDE,N,10,2" )
HDBDecritRubrique
( "MARIE,L" )
HDBDecritRubrique
( "DATNAISS,D" )
HDBDecritRubrique
( "INFOS,M" )
HDBCreation ()


Début de la page

HDBDecritFichier (en anglais HDBDescribeFile)

HDBDecritFichier ( "CLIENTDB" , "CD" , "C:\FIC\CLIENT.DBF" )
HDBDecritRubrique
( "NOM,C,20" )
HDBDecritRubrique
( "PRENOM,C,20" )
HDBDecritRubrique
( "AGE,N,3,0" )
HDBDecritRubrique
( "SOLDE,N,10,2" )
HDBDecritRubrique
( "MARIE,L" )
HDBDecritRubrique
( "DATNAISS,D" )
HDBDecritRubrique
( "INFOS,M" )
HDBCreation
()


Début de la page

HDBDecritIndex (en anglais HDBDescribeIndex)

HDBDecritFichier("CLIENT","DA","C:\FIC\CLIENT.DBF")
HDBDecritRubrique("NOM,C,20")
HDBDecritRubrique("PRENOM,C,20")
HDBDecritRubrique("MARIE,L")
HDBDecritRubrique("DATNAISS,D")
HDBDecritRubrique("INFOS,M")
HDBDecritIndex ("C:\FIC\FICNOM.NDX","NOM")
HDBDecritIndex ("C:\FIC\FICNP.NDX","NOMPRE,C,40","NOM+PRENOM")
HDBCreation()


Début de la page

HDBDecritRubrique (en anglais HDBDescribeField)

HDBDecritFichier("CLIENT","DA","C:\FIC\CLIENT.DBF")
HDBDecritRubrique ("NOM,C,20")
HDBDecritRubrique ("PRENOM,C,20")
HDBDecritRubrique ("MARIE,L")
HDBDecritRubrique ("DATNAISS,D")
HDBDecritRubrique ("INFOS,M")
HDBDecritIndex("C:\FIC\FICNOM.NDX","NOM")
HDBDecritIndex("C:\FIC\FICNP.NDX","NOMPRE,C,40","NOM+PRENOM")
HDBCreation()


Début de la page

HDBIndex (en anglais HDBIndex)

HDBOuvre("CLIENT","CL","C:\FICHIER\CLIENT.DBF")
HDBIndex ("CLIENT","C:\FICHIER\NOMCLI.NTX","NomCli")
HDBIndex ("CLIENT","C:\FICHIER\TELCLI.NTX","Telephone")


Début de la page

HDBOuvre (en anglais HDBOpen)

HDBOuvre ("COMMANDE","CO","C:\FICHIER\COMMANDE.DBF")
HDBIndex("COMMANDE","C:\FICHIER\COMMANDE.NTX","NumCde")
HDBOuvre ("PRODUIT","PR","C:\FICHIER\PRODUIT.DBF")
HDBIndex("PRODUIT","C:\FICHIER\PRODUIT.NTX","NumProd")

// affichage des infos de la commande
HLitPremier("COMMANDE","NUNCDE")
SI PAS H.EnDehors ALORS
   HLitRecherche("PRODUIT","NumProd",CO.NUMPROD)
   FichierVersEcran
SINON
   Erreur("Fichier vide")
FIN


Début de la page

HDBOuvreSansBloquer (en anglais HDBOpenNoLock)

HMode("*", HModeMono)
HDBOuvreSansBloquer ("COMMANDE","CO","C:\FIC\COMMANDE.DBF")
HDBIndex("COMMANDE","C:\FICHIER\COMMANDE.NTX","NumCde")
HLitPremier("COMMANDE","NumCde")
TANTQUE PAS HEnDehors()
   Afficher_commande
   HLitSuivant()
FIN


Début de la page

HDBTypeTri (en anglais HDBSortingType)

nTypeTri est un entier
// Récupère le type de tri
nTypeTri = HDBTypeTri ()

// Change le type de tri
SELON nTypeTri
   CAS HDBASCII : Info("Tri ASCII")
   CAS HDBLexicographique
           HDBTypeTri ( HDBASCII )
           Info("Tri Lexicographique changé en tri ASCII")
   AUTRES CAS
           Info("Erreur : Tri inconnu")
FIN


Début de la page

HDebloqueFichier (en anglais HUnlockFile)

// Blocage
HBloqueFichier(CLIENT, HBlocageLectureEcriture )
// Modification du fichier
...
// Déblocage
HDébloqueFichier (CLIENT)


Début de la page

HDebloqueNumEnr (en anglais HUnlockRecNum)

// Blocage
HBloqueNumEnr(CLIENT, hNumEnrEnCours , hBlocageLectureEcriture )
// Modification de l'enregistrement
...
// Déblocage
HDébloqueNumEnr (CLIENT, hNumEnrEnCours )


Début de la page

HDeclare (en anglais HDeclare)

// Déclaration d'un fichier FournisseurWD à partir
// de l'analyse GESTCOM

HDéclare ("Fournisseur""\Exemples\GestCom\GESTCOM.WDD",...
          "", "FournisseurWD")


Début de la page

HDeclareExterne (en anglais HDeclareExternal)

// Déclaration d'un fichier FournisseurWD
// à partir du fichier .FIC

HDéclareExterne("C:\GestCom\Fournisseur.fic","FournisseurWD")


Début de la page

HDecritConnexion (en anglais HDescribeConnection)

HDécritConnexion ( "MaConnexion" , "" , "" ,...
                  "Serveur_SQLServer" , "dbo" , hAccèsNatifSQLServer , HOLectureEcriture , "" )


Début de la page

HDecritFichier (en anglais HDescribeFile)

TableDesc est une description de fichier
ItemDesc est une description de rubrique
CLIENT est une source de données

// Description du fichier "CLIENT"
TableDesc ..Nom = "CLIENT"
TableDesc ..Type = hFichierNormal
TableDesc ..CryptageFic = hCryptageStandard

// Description de la rubrique "NOM"
ItemDesc ..Nom = "NOM"
ItemDesc ..Type = hRubTexte
ItemDesc ..Taille = 40
ItemDesc ..TypeClé = hCléUnique
HDécritRubrique ( TableDesc , ItemDesc )

// Description de la rubrique "PRENOM"
ItemDesc ..Nom = "PRENOM"
ItemDesc ..Type = hRubTexte
ItemDesc ..Taille = 40
HDécritRubrique ( TableDesc , ItemDesc )

// Valide la description du fichier
HDécritFichier ( TableDesc )
...

// Création du fichier Client (reconnu car déclaré comme source de données)
HCréation ( CLIENT )

// Création d'un enregistrement
CLIENT.NOM = "Dupont"
CLIENT.PRENOM = "André"
HAjoute ( CLIENT )


Début de la page

HDecritLiaison (en anglais HDescribeLink)

HDécritLiaison ( LiaisonClientProduit )


Début de la page

HDecritRubrique (en anglais HDescribeItem)

HDécritRubrique ( ClientBis , NomClient )


Début de la page

HDecritTrigger (en anglais HDescribeTrigger)

// Dans le code d'initialisation du projet
LOCAL
   ResultatTrigger est un booléen

// Création du Trigger pour tous les fichiers de l'analyse
ResultatTrigger = HDecritTrigger ( "*" , "HAJOUTE,HMODIFIE," +...
          "HSUPPRIME,HRAYE,HECRIT" , "VerifDroitUtilisateur" , hTriggerAvant )
// Avec "VerifDroitUtilisateur" une procédure globale du projet
SI ResultatTrigger = Faux ALORS
    Erreur ( "Erreur sur un trigger : " + HErreurInfo )
    RETOUR
FIN


Début de la page

HDernier (en anglais HLast)

// Parcours d'un fichier depuis le dernier enregistrement
HDernier
(Client, Nom)
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HPrécédent(Client, Nom)
FIN


Début de la page

HDesactiveFiltre (en anglais HDeactivateFilter)

// Déclaration du filtre : sélection des clients
// qui ont entre 20 et 60 ans
HFiltre(CLIENT,AGE,20,60)
...
HDésactiveFiltre (CLIENT) // Filtre désactivé
...
// Parcours du fichier des clients avec filtre sur l'âge
// Traitement des clients qui ont entre 20 et 60 ans
// (procédure TraiteClient2060)
HActiveFiltre(CLIENT,AGE)
HLitPremier(CLIENT,AGE)
TANTQUE HTrouve(CLIENT)
  TraiteClient2060()
  HLitSuivant(CLIENT,AGE)
FIN


Début de la page

HDesactiveFiltreAuto (en anglais HDeactivateAutoFilter)

// Activation de tous les filtres auto possibles du fichier CLIENT
HActiveFiltreAuto(CLIENT, "*")
// sauf entre CLIENT et COMMANDE
HDésactiveFiltreAuto (CLIENT, COMMANDE)

/////////////////////////////

// Parcours des commandes
HLitPremier(COMMANDE, IDCOMMANDE)
TANTQUE PAS HEnDehors()
// parcours les lignes de commande de la commande en cours
     HLitPremier(LIGNECOMMANDE, IDCOMMANDE)
     TANTQUE PAS HEnDehors()
         HLitSuivant(LIGNECOMMANDE, IDCOMMANDE)
     FIN
    // Commande suivante
    HLitSuivant(COMMANDE, IDCOMMANDE)
FIN


Début de la page

HDesactiveTrigger (en anglais HDeactivateTrigger)

// Dans le code d'initialisation du projet
LOCAL
   ResultatTrigger est un booléen

// Création du Trigger pour tous les fichiers de l'analyse
ResultatTrigger = HDecritTrigger("*","HAJOUTE,HMODIFIE,"+...
          "HSUPPRIME,HRAYE,HECRIT","VerifDroitUtilisateur", hTriggerAvant )
// Avec "VerifDroitUtilisateur" une procédure globale du projet
SI ResultatTrigger = Faux ALORS
    Erreur("Erreur sur un trigger : "+HErreurInfo)
    RETOUR
FIN

...
// Désactive le trigger pour tous les fichiers
// Sur les fonctions HSupprime et HRaye
HDesactiveTrigger ("*","HSUPPRIME,HRAYE")


Début de la page

HDetruitVue (en anglais HDeleteView)

// Destruction de la vue CLIENT34
SI PAS HDétruitVue ( Client34 ) ALORS
  Erreur ( "Erreur lors de la destruction d'une vue : " + HErreur ())
FIN


Début de la page

HEcrit (en anglais HWrite)

// Écriture d'un enregistrement à la fin d'un fichier
HEcrit
( Client , HNbEnr ()+ 1 )


Début de la page

HEnDehors (en anglais HOut)

HLitPremier(Client, Nom)
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HLitSuivant(Client, Nom)
FIN


Début de la page

HEnregistrementVersXML (en anglais HRecordToXML)

//Exporte l'enregistrement en cours du dernier fichier utilisé
sXML est une chaîne = HEnregistrementVersXML ()


Début de la page

HEnregistrementVersXML (en anglais HRecordToXML)

//Exporte l'enregistrement en cours du fichier CLIENT
sXML
est une chaîne = HEnregistrementVersXML ( Client )


Début de la page

HEnregistrementVersXML (en anglais HRecordToXML)

//Exporte l'enregistrement en cours du fichier CLIENT
//Remarque : seules les rubriques NOM et NUMERO sont prises en compte
sXML
est une chaîne = HEnregistrementVersXML ( Client , "NOM,NUMERO" )


Début de la page

HErreur (en anglais HError)

// Gestion d'une erreur lors de la création d'un fichier
SI HCréation(Client)= Faux ALORS
  Erreur("Erreur Hyper File : " + HErreur ())
FIN


Début de la page

HErreurDoublon (en anglais HErrorDuplicates)

// Gestion d'une erreur de doublons
SI HModifie ( Client ) = Faux ALORS
    SI HErreurDoublon () = Vrai ALORS 
        sNomRub est une chaîne
        sNomRub = HErreurInfo ( h ErrRubrique )
       Erreur ( "Doublon : cet enregistrement ne peut être modifié" ,...
              "Rubrique associée à l'erreur : " + sNomRub ,...
              "Valeur de la rubrique : " +{ "Client." + sNomRub })
   FIN
FIN


Début de la page

HErreurEtatModification (en anglais HErrorStatusModification)

// Code d'une procédure appelée pour le traitement d'un conflit
// de modification
NomFichier est une chaîne = HErreurInfo ( HErrFichier )
// affiche l'état de l'enregistrement original
Trace ( HErreurEtatModification ( NomFichier , hEnrLu ))
// affiche l'état de la rubrique de l'enregistrement du fichier
Trace ( HErreurEtatModification ( NomFichier , hEnrFichier ))
// affiche l'état de la rubrique de l'enregistrement utilisateur
Trace ( HErreurEtatModification ( NomFichier , hEnrUtilisateur )


Début de la page

HErreurInfo (en anglais HErrorInfo)

// Gestion d'une erreur lors de la création d'un fichier
SI HCréation(Client)= Faux ALORS
  Erreur("Erreur Hyper File : " + HErreurInfo ())
FIN


Début de la page

HErreurIntegrite (en anglais HErrorIntegrity)

// Gestion d'une erreur d'intégrité
SI HModifie ( Client ) = Faux ALORS
  SI HErreurIntégrité () = Vrai ALORS 
  Erreur ( "Erreur d'intégrité : cet enregistrement ne peut " +...
    "être modifié" )
  FIN
FIN


Début de la page

HErreurModification (en anglais HErrorModification)

BOUCLE
  // extrait la nième rubrique de la liste des rubriques en conflit
  UneRubrique = ExtraitChaîne ( ListeRubrique , i , RC )
  // on sort si on n'a plus de rubrique
  SI UneRubrique = EOT ALORS SORTIR //Sortie si plus de rubrique en conflit

  // affiche la valeur de la rubrique de l'enregistrement original
  Trace ( HErreurModification ( NomFichier , UneRubrique , hEnrLu ))
  // affiche la valeur de la rubrique de l'enregistrement du fichier
  Trace ( HErreurModification ( NomFichier , UneRubrique , hEnrFichier ))
  // affiche avec la valeur de la rubrique de l'enregistrement utilisateur
  Trace ( HErreurModification ( NomFichier , UneRubrique , hEnrUtilisateur ))
FIN


Début de la page

HErreurMotDePasse (en anglais HErrorPassword)

// Test du compte rendu de la fonction HLitPremier
SI PAS HLitPremier(Client, Nom) ALORS
   // Problème lors de la lecture.
   // Vérifie si l'erreur est due à un mot de passe erroné.
   SI HErreurMotDePasse()
      Info("Le mot de passe donné pour manipuler le fichier"+...
           "Client est faux")
       // Ouverture de la fenêtre de saisie du mot de passe
      MotDePasse = Ouvre(Saisie_Passe)
      HPasse(Client,MotDePasse)
   FIN
FIN


Début de la page

HEtat (en anglais HState)

SI HEtat ( CLIENT )= HEtatActif ALORS
    // Traitements
FIN


Début de la page

HExecuteRequete (en anglais HExecuteQuery)

// Initialisation de la requête "Client_84"
HExécuteRequête ( CLIENT_84 )


Début de la page

HExecuteRequete (en anglais HExecuteQuery)

// Requête sur fichier Oracle: Clients utilise la connexion "MaConnexion"
// Marequête = "Select * from clients where IDClient = ?"
HExécuteRequête ( MaRequête , hRequêteDefaut , 5 )


Début de la page

HExecuteRequeteSQL (en anglais HExecuteSQLQuery)

ReqClient est une source de données
// Initialisation de la requête "Client"
HExécuteRequêteSQL ( ReqClient , "SELECT NOM FROM CLIENT" )


Début de la page

HExecutevue (en anglais HExecuteView)

// Exécute la vue CLIENT34
HExécuteVue ( Client34 )


Début de la page

HExporteXML (en anglais HExportXML)

/ / Exporte tous les clients
HExporteXML ( CLIENT , "C:\TEMP\Client.xml" , hExpCréation )


Début de la page

HExtraitMemo (en anglais HExtractMemo)

HExtraitMémo ( Client , Photo , "C:\temp\Photo.bmp" )


Début de la page

HExtraitMemo (en anglais HExtractMemo)

// photo du produit
SI HExtraitMemo(SQLLitMémo("MaRequete", 2), "Produit.BMP") = Faux ALORS
   RENVOYER Faux
FIN


Début de la page

HExtraitMemo (en anglais HExtractMemo)

HExtraitMémo ( Client , Photo , "\temp\Photo.bmp" )


Début de la page

HFerme (en anglais HClose)

// Fermeture du fichier FOURNISSEUR
HFerme ( Fournisseur )


Début de la page

HFerme (en anglais HClose)

SI PAS HFerme("") ALORS
   Erreur("Problème lors de la fermeture des fichiers")
FIN


Début de la page

HFermeAnalyse (en anglais HCloseAnalysis)

// Ouvre une analyse
HOuvreAnalyse
( "C:\Gestcom\Gestcom.WDD" )
// Traitements
...

// Ferme l'analyse actuellement utilisée par l'application
HFermeAnalyse
()


Début de la page

HFermeAnalyse (en anglais HCloseAnalysis)

SI HFermeAnalyse () ALORS
  HOuvreAnalyse("C:\Gestcom\Gestcom.WDD")
FIN


Début de la page

HFermeConnexion (en anglais HCloseConnection)

// Décrire et ouvrir la nouvelle connexion
HDécritConnexion
( "MaConnexion" , "" , "" , "Serveur_SQLServer" , ...
                           "dbo" , hODBC , HOLectureEcriture , "" )
HOuvreConnexion
("MaConnexion")

// Indiquer que "Salaires" utilise la nouvelle connexion
HChangeConnexion ( "salaires" , "MaConnexion" )

// commencer le parcours de la table "salaires" sur SQLServer
HLitPremier ( "salaires" )
...

// Fermer la connexion
HFermeConnexion ( "MaConnexion" )


Début de la page

HFichierExiste (en anglais HFileExist)

SI HFichierExiste ( CLIENT ) ALORS
    // Traitements
FIN


Début de la page

HFiltre (en anglais HFilter)

// filtre réalisée avec une clé de parcours bornée et une condition :
// la clé de parcours est fixée


CléParcours
est une chaîne
// Filtre les factures comprises entre le 1/1/2000 et le
// 31/12/2000 dont le total est supérieur à 1500 Euros TTC
// avec une remise dont le type est passé en paramètres (rubrique texte)
CléParcours = HFiltre ( Facture , DateFacture , "20000101" ,...
    "20001231" , ChaineConstruit ( "TotalTTC>1500 ET TypeRemise='%1'" +,...
    Remplace ( sTypeRemise , "'" , "\'" )))
    //La fonction Remplace permet de préfixer les apostrophes
    //que peut contenir sTypeRemise d'un antislash
SI CléParcours <> "" ALORS
  HLitPremier ( Facture , CléParcours )
  TANTQUE PAS HEnDehors ()
    // Traitement de l'enregistrement : envoi
    // d'une lettre de remerciement
  Envoi_Lettre ()
  HLitSuivant ( Facture , CléParcours )
  FIN
FIN
...
// Annule le filtre
HDésactiveFiltre ( Facture )


Début de la page

HFiltreCommencePar (en anglais HFilterStartsWith)

Maclé est une chaîne
// Sélectionne tous les clients habitant la ville commençant par "Mon"
Maclé = HFiltreCommencePar (Client,Ville,"Mon")
HLitPremier(Client,Maclé)
TANTQUE PAS HEnDehors()
  Trace(Client.NomClient, Client.Ville)
  HLitSuivant(Client,Maclé)
FIN
...
// Annule le filtre
HDésactiveFiltre(Client)


Début de la page

HFiltreComprisEntre (en anglais HFilterIncludedBetween)

MacléParcours est une chaîne
MacléParcours = HFiltreComprisEntre ( Client , NomPrénom , ...
                "A" , "B" + hValMax , hséparateurBorne , "C" , "D" + hvalMax )
// Sélection de tous les clients dont le nom est compris entre A et C
// et dont le prénom est compris entre C et D

HLitPremier
( Client , MacléParcours )
TANTQUE PAS H.EnDehors
     Trace ( Client . NomClient , Client . Ville )
    HLitSuivant ( Client , MacléParcours )
FIN
...
// désactive le filtre
HDesactiveFiltre ( Client )


Début de la page

HFiltreIdentique (en anglais HFilterIdentical)

// Sélection de tous les clients ayant pour nom Archambault
// et pour prénom Corentin
CléParcours est une chaîne = HFiltreIdentique ( Client , ...
                NomPrénom , "Archambault" , "Corentin" )
HLitPremier ( Client , CléParcours )
TANTQUE PAS H.EnDehors
    Trace ( Client . NomClient , Client . Ville )
    HLitSuivant ( Client , CléParcours )
FIN
// désactive le filtre
HDesactiveFiltre ( Client )


Début de la page

HFinInterditModif (en anglais HEndNoModif)

HInterditModif ( FACTURE )
//traitement
HFinInterditModif ( FACTURE )


Début de la page

HForceEcriture (en anglais HFlush)

// Ajout d'un enregistrement dans un fichier
// (enregistrement décrit par programmation)
Client . Nom = "Moulin"
Client . Prenom = "François"
Client . Adresse = "Impasse de la belle"
Client . Ville = "Montpellier"
Client . CodeP = "34000"
Client . Pays = "France"
HAjoute ( Client )
// Force l'écriture dans le fichier Client
HForceEcriture ( Client )


Début de la page

HFusionneVue (en anglais HMergeView)

// Union de deux vues
MaVue est une source de données
VueClient84 est une source de données
...
HFusionneVue ( MaVue , VueClient84 , VueClient84 ,...
     hVueUnion , "+NomCli" )


Début de la page

HGereAccesDistant (en anglais HSetDistantAccess)

// Ouverture d'une analyse distante
HOuvreAnalyse ( "ANADIST.WDD" ,"", "192.32.8.10" , "MonLogIn" , "MotPasse" )
// Ouverture d'un fichier distant
HOuvre ( "MONFICDIST" )
//....
HGereAccesDistant ( Faux ) // Ordres Hyper File suivants seront effectués en local
HOuvre ( "MONFICLOC" ) // Ouverture d'un fichier local
//....
HGereAccesDistant ( Vrai ) // Ordres Hyper File suivants seront exécutés en distant
//...
HFermeAnalyse ()


Début de la page

HGereAccesDistant (en anglais HSetDistantAccess)

HGereAccesDistant ( Vrai ) // Ordres Hyper File suivants seront effectués en distant
HOuvre ( Client ) // Ouverture d'un fichier distant
//....
HGereAccesDistant ( Commande , Faux ) // Fichier Commande passe en local
HLitPremier ( Client ) // Lit le premier enregistrement en distant
HLitPremier ( Commande ) // Lit le premier enregistrement en local


Début de la page

HGereDoublon (en anglais HSetDuplicates)

// Désactive la gestion des doublons sur le fichier Client
// pour la clé NOM
HGèreDoublon (Client,Nom, Faux )


Début de la page

HGereIntegrite (en anglais HSetIntegrity)

// Désactiver le test des cardinalités sur la liaison entre
// une commande et un client
HGèreIntégrité ( ClientCommande , hCardinalite , Faux )


Début de la page

HGereIntegrite (en anglais HSetIntegrity)

// Désactiver les règles d'intégrité sur tous
// les fichiers de l'application
HGèreIntégrité ( "*" , "*" , hCardinalite + hEnModification + hEnSuppression , Faux )
// équivalent à : hGèreIntégrité(Faux)


Début de la page

HGereJournal (en anglais HSetLog)

// Désactiver la gestion du journal sur le fichier CLIENT
HGèreJournal (Client, Faux )


Début de la page

HGereMemo (en anglais HSetMemo)

// Désactive la gestion des mémos sur les observations
// du fichier CLIENT
HGèreMémo
( CLIENT , OBSERVATION , hMémoNon )


Début de la page

HGereREP (en anglais HSetRep)

// Désactive la gestion du fichier .REP
HGèreRep ( Faux )


Début de la page

HGereReplication (en anglais HSetReplication)

// désactive la réplication
HGèreRéplication ( Faux )
// ajout d'une valeur qui ne sera pas répliquée
HAjoute(Client)
// réactive la réplication
HGèreRéplication ( Vrai )


Début de la page

HGereTransaction (en anglais HSetTransaction)

// Désactive la gestion des transactions sur le fichier Client
HGèreTransaction ( Client , Faux )


Début de la page

HGereTrigger (en anglais HSetTrigger)

// Désactive la gestion des triggers
HGèreTrigger ( Faux )


Début de la page

HImporteHF55 (en anglais HImportHF55)

// Importe le nom et l'adresse des clients,
// on ignore les autres rubriques
SI PAS HImporteHF55 ("CLIENT", "CLIENT", ...
    "C:\UnExemple\CLIENT.FIC", "", ...
    "C:\UnExemple\UnExemple.wdd", "", ...
    "NOMCOMPLET,ADRESSE", "NOM,ADDR", ...
    HValDefaut + HImpConversion , "Jauge1") ALORS
          Erreur("Importation impossible")
SINON
  // Traitement
   ...
FIN


Début de la page

HImporteTexte (en anglais HImportText)

// Importe le nom, l'adresse et le logo (mémo binaire) des clients.
// On réinitialise les autres rubriques.
// Une ligne du fichier d'importation contient donc 3 ou 5 colonnes :
// - Nom, - Adresse, - Nom du fichier pour le logo
// (si le nom du fichier pour le logo est différent
// de chaîne vide, 2 colonnes supplémentaires)
// - Le type du mémo (IMG), - Un commentaire
SI HImporteTexte ("CLIENT","C:\UnExemple\Client.txt",...
                 "NOM,ADRESSE,LOGO", hValDefaut , "Jauge1") = Faux ALORS
  Erreur("Importation impossible")
SINON
  // Traitement
FIN


Début de la page

HImporteXML (en anglais HImportXML)

// Importation du fichier "C:\MesFichiers\Client.xml"
// dans le fichier Client. Si le fichier Client existe, ce fichier
// sera écrasé (constante hImpCréation)
// Une jauge de progression sera affichée dans le champ Jauge1
HImporteXML ( Client , "C:\MesFichiers\Client.xml" , hImpCréation , Jauge1 )


Début de la page

HInfoMemo (en anglais HInfoMémo)

HLitPremier ( PRODUIT , NOM )
InfoMemo
est une chaîne = HInfoMemo ( PRODUIT , NOM )
// Récupérer le nom du fichier original du mémo

NomFichier
est une chaîne = ExtraitChaine ( sInfoMemo , 2, TAB )


Début de la page

HInfoReplica (en anglais HInfoReplica)

// Si aucune donnée à synchroniser on grise le bouton
SI HInfoReplica ( "" , rplMaitreEstAJour ) ALORS
   BTN_SYNCHRO ..Etat = Grisé
FIN


Début de la page

HInfoReplica (en anglais HInfoReplica)

// Si pas de synchronisation du maître depuis plus de 7J
SI PAS HInfoReplica ( "" , rplAbonneEstAJour , "PARIS" ) ALORS
   nbJour est entier
   nbJour = HInfoReplica ( "" , rplDateSynchroVersMaitre , "PARIS" )/( 24 * 60 * 60 )
   SI nbJour > 7 ALORS
       Info ( "Vous n'avez pas mis à jour PARIS depuis " + nbJour + " jours." )
   FIN
FIN


Début de la page

HInitAbonne (en anglais HInitSubscriber)

//Initialise la plage d'ID Auto du fichier CLIENT
HInitAbonné ( "CLIENT" , "C:\DATA\Replic\AbonneParis.RPL" )

//Initialise la plage d'ID Auto de tous les fichiers
HInitAbonné ( "*" , "C:\DATA\Replic\AbonneParis.RPL" )


Début de la page

HInitHF55 (en anglais HInitHF55)

// Application WinDev sans fichiers au format WinDev 5.5
HInitHF55 ( "C:\Fic\ForxBase.WDD" )
HDBDecritFichier ("CLIENTDB","CD","C :\FIC\CLIENT.DBF")
HDBDecritRubrique ( "NOM,C,20" )
HDBDecritRubrique ( "PRENOM,C,20" )
HDBDecritRubrique ( "AGE,N,3,0" )
HDBDecritRubrique ( "SOLDE,N,10,2" )
HDBDecritRubrique ( "MARIE,L" )
HDBDecritRubrique ( "DATNAISS,D" )
HDBDecritRubrique ( "INFOS,M" )
HDBCreation ()


Début de la page

HInterditModif (en anglais HNoModif)

HInterditModif ( Facture )
//Traitement....

HFinInterditModif ( Facture )


Début de la page

HJournalInfo (en anglais HLogMessage)

HJournalInfo ( "Ajout de " + CLIENT.NOMCLI )
HAjoute ( CLIENT )


Début de la page

HJournalRecree (en anglais HLogRecreate)

HJournalRecrée ( Client )


Début de la page

HJournalRedemarre (en anglais HLogRestart)

HJournalInfo ( "CLIENT" , "début impression de " + CRITERE )
HJournalStop ( "CLIENT" ) //stopper le journal
HLitPremier ( "CLIENT" , CRITERE )
TANTQUE HTrouve
  // Traitement
    HLitSuivant ( "Client" )
FIN

HJournalRedemarre
( "CLIENT" ) //redémarrer le journal
HJournalInfo ( "CLIENT" , "fin impression de " + CRITERE ) //écrire


Début de la page

HJournalStop (en anglais HLogStop)

HJournalInfo ( "CLIENT" , "début impression de " + CRITERE )
HJournalStop ( "CLIENT" ) //stopper le journal
HLitPremier ( "CLIENT" , CRITERE )
TANTQUE HTrouve
   // Traitement
    HLitSuivant ( "Client" )
FIN

HJournalRedemarre
( "CLIENT" ) //redémarrer le journal
HJournalInfo ( "CLIENT" , "fin impression de " + CRITERE ) //écrire


Début de la page

HLibere (en anglais HFree)

// Supprime tous les enregistrements rayés du fichier CLIENT
HLibère
( Client )


Début de la page

HLiberePosition (en anglais HFreePosition)

// Sauvegarde de la position
nPos est un entier = HSauvePosition ( Client , Nom )
...
// Traitements
...
// Suppression de la position devenue inutile
HLibèrePosition ( nPos )


Début de la page

HListeAnalyse (en anglais HListAnalysis)

// Remplit une combo avec la liste des analyses
// disponibles sur \Mes répertoires
ListeAjoute ( Combo , HListeAnalyse ( "\Mes répertoires" ))

// Remplit un champ de saisie multiligne
// En utilisant comme séparateur la virgule et le RC
Saisie1 = HListeAnalyse ( "\Mes Projets" , "," + RC )


Début de la page

HListeCle (en anglais HListKey)

// Récupérer les clés d'un fichier de l'analyse en cours
ListeCle est une chaîne
ListeCle = HListeClé ( CLIENT , HLstDetail )
// Ajoute la liste des clés dans COMBO1
ListeAjoute ( COMBO1 , ListeCle )


Début de la page

HListeConnexion (en anglais HListConnection)

// Récupérer la liste des connexions
sListeCnx est une chaîne = HListeConnexion ( hLstDétail + hLstTout + hLstTriée )

// insérer la liste dans la combo COMBOCONNEXION
ListeAjoute ( COMBOCONNEXION , sListeCnx )


Début de la page

HListeFichier (en anglais HListFile)

// Récupérer les fichiers décrits dans l'analyse en cours
// et dynamiquement
ListeFichier est une chaîne
ListeFichier = HListeFichier ( HLstDetail + HLstTout )

// Ajoute la liste des fichiers dans COMBO1
ListeAjoute ( COMBO1 , sListeFichier )


Début de la page

HListeLiaison (en anglais HListLink)

// Récupérer les liaisons du fichier CLIENT de
// l'analyse en cours
ListeLaison est une chaîne
ListeLiaison = HListeLiaison ( CLIENT , HLstDetail )
// Ajoute la liste des liaisons dans COMBO1
ListeAjoute ( COMBO1 , ListeLiaison )


Début de la page

HListeParamRequete (en anglais HListQueryParam)

// Récupérer les paramètres de la requête ClientsDépartement
ListeParam est une chaîne
ListeParam = HListeParamRequête ( ClientsDépartement )

// Ajoute la liste des paramètres dans COMBO1
ListeAjoute ( COMBO1 , ListeParam )


Début de la page

HListeProvider (en anglais HListProvider)

// Récupérer la liste des accès natifs
sListeAN = HListeProvider ()

sAnExtrait est une chaîne
sDescription est une chaîne

nIndice est un entier = 1
BOUCLE
   // Extraire chaque accès natif
    sAnExtrait = ExtraitChaîne(sListeAN, nIndice, RC )
    sDescription = ExtraitChaîne(sAnExtrait, 1, TAB)
    sAnExtrait = ExtraitChaîne(sAnExtrait, 2, TAB )
    SI sAnExtrait = EOT ALORS SORTIR
    // Ajouter l'accès natif dans la combo
    ListeAjoute(ChFournisseur, sDescription + gLien(sANExtrait))
    nIndice++
FIN


Début de la page

HListeREP (en anglais HListRep)

sAffectations est une chaîne
// Récupérer toutes les affectations du fichier logique
// CLIENT dont le nom physique est CLIENT2000 et qui
// existent bien sur disque
sAffectations = HListeREP (".", "CLIENT", "CLIENT2000", HExistant )


Début de la page

HListeREP (en anglais HListRep)

// Lister toutes les entrées du .REP du projet
// Syntaxe équivalente : HlisteRep()
sListe est une chaîne
sListe = HlisteRep ( "." , "*" )


Début de la page

HListeRubrique (en anglais HListItem)

// Récupérer les rubriques d'un fichier de l'analyse en cours
ListeRubrique est une chaîne
ListeRubrique = HListeRubrique ( CLIENT , HLstDetail )
// Ajoute la liste des rubriques dans COMBO1
ListeAjoute(COMBO1, ListeRubrique)


Début de la page

HListeTrigger (en anglais HListTrigger)

// Récupérer les triggers appliqués sur les fichiers "Client"
// et "Produit"
sListeTriggers est une chaîne
sListeTriggers = HListeTrigger ( "Client,Produit" )

// Ajoute la liste des triggers dans la combo COMBO1

ListeAjoute
( COMBO1 , sListeTriggers )


Début de la page

HLit (en anglais HRead)

// Parcours séquentiel pour afficher le nom
// de tous les clients

i
est un entier
POUR i = 1 A HNbEnr ( CLIENT , HEtatTous )
    HLit ( CLIENT , i )
    SI HEtat () = HEtatActif ALORS
        Info ( "Nom du client : " + CLIENT . NOM )
    FIN
FIN


Début de la page

HLitDernier (en anglais HReadLast)

HLitDernier (Client, Nom)
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HLitPrécédent(Client, Nom)
FIN


Début de la page

HLitPrecedent (en anglais HReadPrevious)

HLitDernier ( Client , Nom )
TANTQUE PAS HEnDehors

    // Traitement de l'enregistrement

    HLitPrécédent
( Client , Nom )

FIN


Début de la page

HlitPremier (en anglais HReadFirst)

HLitPremier ( Client , Nom )
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HLitSuivant ( Client , Nom )
FIN


Début de la page

HLitRecherche (en anglais HReadSeek)

// Recherche du premier enregistrement à l'identique
// pour lequel le nom du CLIENT est DUPOND
HLitRecherche ( CLIENT , NOM , "DUPOND" )


Début de la page

HLitRechercheDernier (en anglais HReadSeekLast)

// Recherche du dernier enregistrement pour lequel
// le nom du CLIENT est DUPOND
HLitRechercheDernier ( CLIENT , NOM , "DUPOND" )


Début de la page

HLitRechercheDernier (en anglais HReadSeekLast)

// recherche de tous les clients ayant un chiffre
// d'affaire inférieur à une valeur donnée.
HLitRechercheDernier (CLIENT,CA,X)
TANTQUE PAS HEnDehors(CLIENT)
 AjouterClientListe()
 HLitPrécédent(CLIENT,CA)
FIN


Début de la page

HLitRecherchePremier (en anglais HReadSeekFirst)

// Recherche du premier enregistrement pour lequel
// le nom du CLIENT est DUPOND
HLitRecherchePremier
( CLIENT , NOM , "DUPOND" )


Début de la page

HLitSuivant (en anglais HReadNext)

HLitPremier ( Client , Nom )
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HLitSuivant ( Client , Nom )
FIN


Début de la page

HMigreCleComposeeReliee (en anglais HMigrateLinkedCompositeKey)

// modifier les valeurs de la clé COMMANDE.CLECOMPCLIENT
HMigreCléComposéeReliée ( CLIENT , CLECOMP , COMMANDE , CLECOMPCLIENT )


Début de la page

HMode (en anglais HMode)

// Change le mode de tous les fichiers
HMode ("*", HModeMulti )

// Rend le fichier client inaccessible aux autres applications
HMode ( CLIENT , HModeMono )


Début de la page

HModifie (en anglais HModify)

// Recherche l'enregistrement
HLitRecherchePremier ( Client , Nom , "Moulin" )

SI
HTrouve () ALORS
    // Modification d'un enregistrement dans un fichier 
    //(enregistrement décrit par programmation)
    Client . Prenom = "François"
    Client . Ville = "Montpellier"
    Client . CodeP = "34000"
    Client . Pays = "France"
    HModifie ( Client )
FIN


Début de la page

HModifie (en anglais HModify)

// Modifie l'enregistrement en cours du fichier CLIENT
// affiché dans une fenêtre
EcranVersFichier ()
HModifie ( Client )


Début de la page

HNbEnr (en anglais HNbRec)

// Enregistrements actifs du fichier CLIENT
NbEnrClient = HNbEnr ( Client )


Début de la page

HNumEnr (en anglais HRecNum)

// Enregistrement en cours du fichier CLIENT
EnrEnCoursClient
= HNumEnr ( Client )


Début de la page

HOptimise (en anglais HOptimize)

HOptimise ( Client , Nom )


Début de la page

HOptimiseRequete (en anglais HOptimizeQuery)

HOptimiseRequête ( ReqClient , 34 )


Début de la page

HOuvre (en anglais HOpen)

// Ouvre le fichier Client
HOuvre
( Client )


Début de la page

HOuvre (en anglais HOpen)

// Ouvre tous les fichiers avec le mot de passe "PSW"
HOuvre
( "*" , "PSW" )


Début de la page

HOuvre (en anglais HOpen)

// Test du compte rendu de la fonction HOuvre
SI PAS HOuvre (CLIENT,"ABCD", hOLecture ) ALORS
  Erreur("Impossible d'ouvrir le fichier CLIENT"+HErreurInfo())
FIN


Début de la page

HOuvreAnalyse (en anglais HOpenAnalysis)

// Ouverture de l'analyse GESTCOM
HOuvreAnalyse ( "C:\GESTCOM\GESTCOM.WDD" , "Mot de passe" )


Début de la page

HOuvreConnexion (en anglais HOpenConnection)

HOuvreConnexion ( "MaConnexion" , "" , "" , "Serveur_SQLServer" , "dbo", hAccèsNatifSQLServer , HOLectureEcriture )


Début de la page

HPasse (en anglais HPass)

// Ouverture d'un fichier avec mot de passe et contrôle d'erreur
HPasse ( CLIENT , "MotDePasse" )
SI PAS HCréationSiInexistant ( CLIENT ) ALORS
    Erreur ( "Erreur Hyper File Mobile : " + HErreurInfo ())
    RETOUR
FIN
// HErreurMotDePasse sert à savoir si l'erreur rencontrée est une erreur de mot de passe
SI PAS HCreationSiInexistant ALORS
    // on détaille :
    SI HErreurMotDePasse () ALORS
        Erreur ( "Mot de passe invalide" )
        // code pour réessayer
    FIN
FIN


Début de la page

HPositionCourante (en anglais HGetCurrentPosition)

HRecherche(CLIENT,NOM,"Dupont")
SI HTrouve(CLIENT) ALORS
  Pourcentage est un entier = HPositionCourante (CLIENT,NOM)/10
  Info("Le premier DUPONT est à "+Pourcentage+"% de CLIENT sur la clé NOM")
FIN


Début de la page

HPositionne (en anglais HSetPosition)

HPositionne ( Client , Nom , 500 )


Début de la page

Hposte (en anglais HPost)

HPoste ("45000")


Début de la page

Hposte (en anglais HPost)

//affectation du numéro de poste lu dans l'entrée "NUMPOSTE"
//de la section "MONPROGRAMME" du fichier "WIN.INI"
NumPoste est une chaîne
NumPoste = INILit ( "MONPROGRAMME" , "NUMPOSTE" , "" )
SI NumPoste = "" ALORS
    Erreur ( "Problème de récupération du numéro de poste" )
SINON
    HPoste ( NumPoste )
FIN


Début de la page

HPrecedent (en anglais HPrevious)

HDernier ( Client , Nom )
TANTQUE PAS HEnDehors
  // Traitement de l'enregistrement

  HPrécédent
( Client , Nom )
FIN


Début de la page

HPremier (en anglais HFirst)

HPremier ( Client , Nom )
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HSuivant ( Client , Nom )
FIN


Début de la page

HPrepareRequeteSQL (en anglais HPrepareSQLQuery)

// Exécution d'une même requête sous Oracle
// Déclaration d'une source de données
// Cette source de données correspond à la requête.

Insert
est une source de données
i
est un entier
// Déclaration d'un des paramètres de la requête
// Le type de ce paramètre est un entier

Insert . age = 0
//Préparation de la requête pour de multiples exécutions

HPrepareRequeteSQL
( Insert , Connexion , ...
             RequeteSansCorrection , "INSERT INTO PERSONE VALUES (:nom, :prenom, :age )" )

// Boucle d'exécution de la requête
// Seuls quelques paramètres sont modifiés

POUR i =1 A 10
     Insert . nom = "Nom" + i
     Insert . prenom = "Prenom" + i
     Insert . age =i
     HExecuteRequeteSQL ( Insert )
FIN


Début de la page

HRaye (en anglais HCross)

// Raye l'enregistrement numéro 123
HRaye
( Client , 123 )


Début de la page

HRaye (en anglais HCross)

//suppression (rayure) des commandes d'un client
HLitRecherchePremier(COMMANDE,NUMCLI,ValNumCli)
TANTQUE HTrouve()
  HRaye ()
  HLitSuivant()
FIN


Début de la page

HRAZ (en anglais HReset)

// Affecte les rubriques avec leur valeur par défaut
HRAZ
( CLIENT )
// Affichage

FichierVersPage
()


Début de la page

HRecherche (en anglais HSeek)

// Recherche générique du premier enregistrement pour lequel
// le code postal commence par "75"
HRecherche ( CLIENT , CP , "75" )


Début de la page

HRecherche (en anglais HSeek)

// Recherche du premier enregistrement à l'identique
// pour lequel le nom du CLIENT est DUPOND
// Mode 7 : Rubrique texte terminée par caract(0)
HRecherche ( CLIENT , NOM , "DUPOND" + Caract ( 0 ))

// Mode 5.5 : Rubrique texte complétée par des espaces
HRecherche ( CLIENT , NOM , Complète ( "DUPOND" ,30))


Début de la page

HRechercheDernier (en anglais HSeekLast)

// Recherche du dernier enregistrement pour lequel
// le nom du CLIENT est DUPOND
HRechercheDernier
( CLIENT , NOM , "DUPOND" )


Début de la page

HRechercheDernier (en anglais HSeekLast)

// Cet exemple permet de rechercher tous les clients
// ayant un chiffre d'affaire inférieur à une valeur donnée.
HRechercheDernier (CLIENT,CA,X)
TANTQUE PAS HEnDehors(CLIENT)
  AjouterClientListe()
  HPrécédent(CLIENT,CA)
FIN


Début de la page

HRecherchePremier (en anglais HSeekFirst)

// Recherche du premier enregistrement pour lequel
// le nom du CLIENT est DUPOND
HRecherchePremier
( CLIENT , NOM , "DUPOND" )


Début de la page

HRecherchePremier (en anglais HSeekFirst)

// L'enregistrement n'est pas lu.
// recherche tous les clients ayant un certain nom et prénom.
// La recherche se fait selon une clé composée

sValRech est une chaîne = HConstruitValClé(CLIENT,NOM_PRENOM,sNom,sPrénom)
HRecherchePremier (CLIENT,NOM_PRENOM,sValRech, HBlocageEcriture )
TANTQUE HTrouve(CLIENT)
   HSupprime(CLIENT)
  HSuivant(CLIENT,NOM_PRENOM, HBlocageEcriture )
FIN


Début de la page

HRecule (en anglais HBackward)

// Recule jusqu'au 200ème enregistrement du fichier CLIENT
// selon la clé NOMCLI
HLitDernier ( CLIENT , NOMCLI )
HRecule ( CLIENT , NOMCLI , 199 )


Début de la page

HRecupereEnregistrement (en anglais HRetrieveRecord)

Enreg est une chaîne = HRécupèreEnregistrement ( CLIENT )


Début de la page

HRecupereEnregistrement (en anglais HRetrieveRecord)

// connaître la position approximative d'un enregistrement
// dans l'index d'une de ses clés.
sEnregistrement est une chaîne = HRécupèreEnregistrement (CLIENT)
// extrait le nom du client
sNom est une chaîne = ExtraitChaine(sEnregistrement,1)
// extrait le prénom du client
sPrénom est une chaîne = ExtraitChaine(sEnregistrement,2)


Début de la page

HRecupereRubrique (en anglais HRetrieveItem)

NomClient est une chaîne
// La seconde rubrique du fichier "CLIENT"
// correspond au nom du client

NomClient
= HRécupèreRubrique ( CLIENT , 2 )
// Equivalent à :
// NomClient = CLIENT.NOM


Début de la page

HRegenereFichier (en anglais HRegenerateFile)

// Le fichier "Client" est journalé.
// Le fichier "Client" se trouve dans le répertoire
// "C:\Données".
// Le journal du fichier "Client.fic" se trouve dans
// le répertoire "c:\journal".
// Le fichier "Client" a été détruit.

// Reconstruction du fichier à partir du journal
HRégénèreFichier
( "C:\Journal\ClientJNL.fic" , HStructure + HDonnées )


Début de la page

HReindexationEnCours (en anglais HIndexingInProgress)

SI HRéindexationEnCours ( Client )<> 0 ALORS
    Trace ( "Opération Impossible, réindexation en cours" )
FIN


Début de la page

HReindexe (en anglais HIndex)

SI HRéindexe ( Fichier [ Fichier ], hNdxNormal ) ALORS
  
TableAffiche ( Table1 , taDebut )
FIN


Début de la page

HRetourPosition (en anglais HRestorePosition)

// Recherche d'un enregistrement
HLitRecherchePremier ( CLIENT , NOM , Nom )
TANTQUE HTrouve ( CLIENT )
    // Sauve le contexte en cours
    nPos = HSauvePosition ( CLIENT , NOM )
    // Vérification d'un client d'un autre nom
    HLitRecherche ( CLIENT , NOM , Nom2 )
    SI HTrouve () ALORS Compteur = Compteur + 1
    // Restaure le contexte
    HRetourPosition ( nPos )
    HLitSuivant ( CLIENT , NOM )
FIN


Début de la page

HRplDeclareLiaison (en anglais HRplDeclareLiaison)

// Récupération d’un abonné avec juste les messages le concernant
hCreeReplicaAbonne ("", "", "Mr X", 0, "Messages" + RC + "Destinataires")
// Filtrage des messages
hFiltre (Destinataires, Nom, "X")
// Déclaration de la Liaison
hRplDeclareLiaison (Destinataires, Messages, IDMessages, IDMessages)
hCreeReplicaTransportable ("", "", hRplVersAbonne )


Début de la page

hRPlProcedureFiltre (en anglais HRplFilterProcedure)

// La procédure valide les messages.
// MessageValidation sera appelée pour chaque message répliqué
HRplProcedureFiltre(Message, "MessageValidation")

// Préparation envoi des messages pour Paris (à MPL)
HCreeRéplicaTransportable( "M:\BAL\BAL.RPM", "Paris","c:\temp\MsgMPL.zip")


Début de la page

HSauvePosition (en anglais HSavePosition)

// Recherche d'un enregistrement
HLitRecherchePremier ( CLIENT , NOM , Nom )
TANTQUE HTrouve ( CLIENT )
   // Sauve le contexte en cours
   nPos = HSauvePosition ( CLIENT , NOM )
   // Vérification d'un client d'un autre nom
   HLitRecherche ( CLIENT , NOM , Nom2 )
   SI HTrouve () ALORS Compteur = Compteur + 1
   // Restaure le contexte
   HRetourPosition ( nPos )
   HLitSuivant ( CLIENT , NOM )
FIN


Début de la page

HSecurite (en anglais HSecurity)

HSécurité ( Faux ) //Désactive le mécanisme de protection

HSécurité ( Vrai ) //Active le mécanisme de protection


Début de la page

HStatCalcule (en anglais HStatCalculate)

// Réalisation de statistiques sur la clé NOMCLI
// du fichier CLIENT

HStatCalcule
( CLIENT , NOMCLI )


Début de la page

HStatDate (en anglais HStatDate)

// Réalisation de statistiques sur la clé NOMCLI
// du fichier CLIENT
HStatCalcule ( CLIENT , NOMCLI )

// Connaître la date de réalisation de ces statistiques
ResDate = HStatDate ()
Info ( "Les statistiques effectuées sur la rubrique NomCli " +...
           
"ont été réalisée le : " +...
            DateVersChaîne ( ResDate ))


Début de la page

HStatHeure (en anglais HStatTime)

// Réalisation de statistiques sur la clé NOMCLI
// du fichier CLIENT
HStatCalcule ( CLIENT , NOMCLI )

// Connaître la date de réalisation de ces statistiques
ResHeure = HStatHeure ()
Info ( "Les statistiques effectuées sur la rubrique NomCli " +...
            "ont été réalisée à : " +...
            HeureVersChaîne ( ResHeure ))


Début de la page

HStatNbDoublon (en anglais HStatNbDuplicates)

// Réalisation de statistiques de doublons sur la clé NOMCLI
// du fichier CLIENT
ResultatStat = HStatNbDoublon ( CLIENT , NOMCLI )


Début de la page

HStatNbEnr (en anglais HStatNbRec)

// Réalisation de statistiques sur la clé NOMCLI
// du fichier CLIENT
ResultatStat = HStatNbEnr ( CLIENT , NOMCLI )


Début de la page

HStatNbEnrIntervalle (en anglais HStatNbRecRange)

// Réalisation de statistiques sur la clé NOMCLI
// du fichier CLIENT
RésultatStat = HStatNbEnrIntervalle ( CLIENT , NOMCLI , "DUPONT" , "DURANT" )


Début de la page

HSubstRep (en anglais HSubstDir)

// Changement de répertoire pour les fichiers définis dans
// un répertoire spécifique dans l'analyse
HSubstRep ( "C:\Fichier" , "D:\Fichier" )
// Ouverture/création des fichiers dans le nouveau répertoire
HCreationSiInexistant ( "*" )


Début de la page

HSubstRep (en anglais HSubstDir)

SI HSubstRep (".","C:\COMPTA\ANNEE2005") = Vrai ALORS
  Info("Vous allez travailler sur les fichiers présents"+...
    "dans le répertoire : C:\COMPTA\ANNEE2005")
SINON
  Erreur(HErreur)
FIN


Début de la page

HSubstRep (en anglais HSubstDir)

// Changement de répertoire pour les fichiers définis dans
// un répertoire spécifique dans l'analyse
HSubstRep ( "\FichierA" , "\FichierB" )
// Ouverture/création des fichiers dans le nouveau répertoire
HCreationSiInexistant ( "*" )


Début de la page

HSuivant (en anglais HNext)

HPremier ( Client , Nom )
TANTQUE PAS HEnDehors
    // Traitement de l'enregistrement
    HSuivant ( Client , Nom )
FIN


Début de la page

HSupprime (en anglais HDelete)

// Supprime l'enregistrement numéro 123
HSupprime
( Client , 123 )


Début de la page

HSupprime (en anglais HDelete)

// Suppression des commandes d'un client
HLitRecherchePremier(COMMANDE,NUMCLI,ValNumCli)
TANTQUE HTrouve()
   HSupprime ()
  HLitSuivant()
FIN


Début de la page

HSurErreur (en anglais HOnError)

// Personnalisation des erreurs de blocages
// La procédure SurErreurBlocage est appelée
// en cas d'erreur de blocage pour tous les fichiers

HSurErreur ( "*" , hErrBlocage , "SurErreurBlocage" )


Début de la page

HSurErreur (en anglais HOnError)

// Ré-activation générale de la gestion automatique
// de toutes les erreurs sur tous les fichiers de données
HSurErreur
( "*" , hErrTout )


Début de la page

HSurErreur (en anglais HOnError)

// Ré-activation générale de la gestion automatique
// des erreurs de blocage sur le fichier Client
HSurErreur
( "Client" , hErrBlocage )


Début de la page

HSynchroniseReplica (en anglais HSynchronizeReplica)

// Appli "Saisie de Commande" par des VRP
// Bouton "[Rentrer les commandes dans la Base]"
// (la base est sur "X:\CORPDATA")
HSynchroniseReplica ( "X:\CORPDATA" , "C:\ABONNE" , RplVersMaître )


Début de la page

HSynchroniseReplica (en anglais HSynchronizeReplica)

// Appli "Catalogue" par des VRP
// Bouton "[Récuperer les nouvelles références]"
// (la base est sur "X:\CORPDATA")
HSynchroniseReplica ( "X:\CORPDATA" , "" , RplVersAbonné )


Début de la page

HSynchroniseReplica (en anglais HSynchronizeReplica)

// A Montpellier : Préparation de l'envoi des messages à Paris
HCreeRéplicaTransportable ( "P:\MSG\MSG.RPM" , "Paris" , "c:\temp\MsgMPL.WDZ" )
// Envoie du fichier (par FTP par exemple)
FTPEnvoie ( NumConnexion, "c:\temp\MsgMPL.WDZ" , " FTP.PCSOFT_PARIS.FR\MSG\MsgMPL.WDZ" )
----------------
// A Paris : Récupération des messages de Montpellier
HSynchroniseReplica ( "Z:\MSG" , "\\FTPSERVEUR\MSG\MsgMPL.WDZ" , RplVersMaitre )


Début de la page

HTransactionAnnule (en anglais HTransactionCancel)

// Début de la transaction sur les fichiers Commande et LigneCde
HTransactionDebut ( "C:\Temp\Transaction.trs" , "Commande,LigneCde,-Client" )
Ajout_Commande ()
QUAND EXCEPTION DANS
  HAjoute ( Commande ) // ajout de la commande
  HTransactionFin () // validation de l'ajout
FAIRE
  HTransactionAnnule () // suppression des lignes de commandes
FIN


Début de la page

HTransactionAnnule (en anglais HTransactionCancel)

// Début de la transaction sur les fichiers Commande et LigneCde
HTransactionDebut("Commande,LigneCde,-Client")
Ajout_Commande()
QUAND EXCEPTION DANS
  HAjoute(Commande) // ajout de la commande
  HTransactionFin() // validation de l'ajout
FAIRE
  HTransactionAnnule () // suppression des lignes de commandes
FIN


Début de la page

HTransactionDebut (en anglais HtransactionStart)

// Début de la transaction sur les fichiers Commande et LigneCde
HTransactionDebut ("C:\Temp\Transaction.trs","Commande,LigneCde,-Client")
Ajout_Commande()
QUAND EXCEPTION DANS
  HAjoute(Commande) // ajout de la commande
  HTransactionFin() // validation de l'ajout
FAIRE
  HTransactionAnnule() // suppression des lignes de commandes
FIN


Début de la page

HTransactionFin (en anglais HTransactionEnd)

// Début de la transaction sur les fichiers Commande et LigneCde
HTransactionDebut("C:\Temp\Transaction.trs","Commande,LigneCde,-Client")
Ajout_Commande()
QUAND EXCEPTION DANS
  HAjoute(Commande) // ajout de la commande
  HTransactionFin () // validation de l'ajout
FAIRE
  HTransactionAnnule() // suppression des lignes de commandes
FIN


Début de la page

HTransactionInterrompue (en anglais HTransactionInterrupted)

SI HTransactionInterrompue ("") ALORS
   HTransactionAnnule ()
FIN


Début de la page

HTransactionLibere (en anglais HTransactionFree)

// Libère tous les enregistrements en transaction susceptibles d'être utilisés
HTransactionLibère
( Client )


Début de la page

HTrieVue (en anglais HSortView)

HTrieVue ( VueClient84 , "Ville,Nom" )


Début de la page

HTrouve (en anglais HFound)

HLitRecherchePremier ( CLIENT , NOM , "DUPONT" )
SI HTrouve () ALORS
   Info ( "Enregistrement trouvé" )
SINON
   Erreur ( "Aucun enregistrement ne correspond" )
FIN


Début de la page

HVerifieIndex (en anglais HCheckIndex)

// Vérification de l'index
Résultat = HVérifieIndex ( CLIENT )
// Gère le résultat
SELON Résultat
    CAS 0
        Info ( "Index correct" )
    CAS 1
        Info
( "Le fichier nécessite une optimisation." )
    CAS 2
        Info
( "Erreur Hyper File Mobile" + HErreur() + "pendant le test" )
FIN


Début de la page

HVerifieStructure (en anglais HCheckStructure)

// Autorise l'ouverture du fichier CLIENT
// Même si les structures sont différentes

HVérifieStructure
( Client , hSansContrôle )


Début de la page

HVersion (en anglais HVersion)

NumVer = HVersion ( CLIENT )


Début de la page

HVersion (en anglais HVersion)

//Première évaluation de la version du fichier
NumVer est un entier
NumVer = HVersion (CLIENT)
 
//Traitements

//Deuxième évaluation de la version du fichier
SI NumVer<> HVersion (CLIENT) ALORS
  Info("le fichier CLIENT a été modifié")
FIN


Début de la page

HVersRubrique (en anglais HToItem)

// Affecte à la seconde rubrique du fichier client
// la valeur DUPONT

HVersRubrique
( CLIENT , 2 , "DUPONT" )


Début de la page

HVueVersFichier (en anglais HViewToFile)

// Enregistre les modification de la vue CLIENT34
// dans le fichier CLIENT

HVueVersFichier
( CLIENT34 )


Début de la page

HVueVersFichier (en anglais HViewToFile)

// Test du compte rendu de la fonction HVueVersFichier
SI HVueVersFichier (CLIENT13)<> Vrai ALORS
   Erreur("Impossible d'enregistrer les modifications effectuées"+...
   "sur la vue")
FIN


Début de la page

PageVersFichier (en anglais PageToFile)

// Clic sur [AJOUTER]
PageVersFichier
()
HAjoute
( "Client" )
SI HDoublon () ALORS
  Erreur
( "Ce numéro existe déjà" )
FIN


Début de la page