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