Exemples évolués
Chaque exemple montre une utilisation pratique de la fonction du WLangage.
Quand plusieurs syntaxes sont possibles, chacune est illustrée indépendamment.
L'exemple suivant permet de décrire un fichier temporaire avec ses liaisons, rubriques, ....
|
||
TableDesc est une description de fichier
ItemDesc est une description de rubrique // 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
HDecritFichier(TableDesc)
|
||
Cet exemple permet de créer un fichier dynamique constitué de deux rubriques simples, et d'une clé composée.
Lorsque le fichier est créé, il est rempli, et un recherche est effectuée sur la clé composée.
|
||
EXTERNE Fic_Temp
EXTERNE RUB1 EXTERNE Rub2 EXTERNE RubCompo
MonFic est une Description de Fichier
MaRub1 est une Description de Rubrique
Marub2 est une Description de Rubrique
CléComposée est une Description de Rubrique
//Déclaration du fichier
MonFic..Nom="Fic_TEMP" MonFic..Type= hFichierNormal //Déclaration de la rubrique 1 MaRub1..Nom="RUB1" MaRub1..Type= hRubTexte MaRub1..Taille=20 HDécritRubrique(MonFic,MaRub1) //Déclaration de la rubrique 2 Marub2..Nom="RUB2" Marub2..Type= hRubTexte Marub2..Taille=20 HDécritRubrique(MonFic,Marub2) // Déclaration de la clé composée CléComposée..Nom = "RubCompo" CléComposée..FormuleClé = "RUB1+RUB2" HDécritRubrique(MonFic,CléComposée) HDécritFichier(MonFic) HCréation(Fic_temp) Fic_temp.Rub1 = "Montpellier" Fic_temp.Rub2 = "Paris" HAjoute(Fic_temp) Fic_temp.Rub1 = "Marseille" Fic_temp.Rub2 = "Lyon" HAjoute(Fic_temp) HLitRecherche(Fic_temp,rubCompo,HConstruitValClé(Fic_temp,RubCompo,"Marseille","Lyon")) SI HTrouve() ALORS Trace(Fic_temp.Rub1,Fic_temp.Rub2) FIN
|