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.
Le code suivant permet de : 1. Initialiser le champ Arbre, 2. Lister les éléments "fils" du noeud "Desserts" dans l'arbre "RecetteTV". La procédure "DérouleTout" est appelée pour chaque "fils" trouvé. Cette procédure déroule tous les noeuds "fils" enroulés du noeud "Desserts". 3. Enrouler tous les éléments de l'arbre,
|
||
// Initialisation de l'arbre
ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert","GATEAU-.BMP","GATEAU-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Glace") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Glace"+ TAB +"Vanille","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Glace"+ TAB +"Fraise","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Glace"+ TAB +"Chocolat","SUIVAN5-.BMP") ArbreDéroule(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Glace") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Coupe") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Coupe"+ TAB +"Pêche Melba","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Coupe"+ TAB +"Poire belle hélène","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Coupe"+ TAB +"Colonel","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Tarte aux pommes") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Tarte aux pommes"+ TAB +"à la crème fraiche","SUIVAN5- BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Tarte aux pommes"+ TAB +"au calvados","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Crème brulée","SUIVAN5-.BMP") ArbreAjoute(RecetteTV,"Recette" + TAB +"Dessert"+ TAB +"Vacherin","SUIVAN5-.BMP") ArbreDéroule(RecetteTV,"Recette" + TAB +"Dessert")
// Liste les "fils" du noeud "Desserts" dans l'arbre "RecetteTV"
// La procédure "DérouleTout" est appelée // pour chaque "fils" trouvé du noeud "Desserts" Res est un entier Res = ArbreListeFils (RecetteTV, "Recette" + TAB + "Dessert", "DérouleTout") // Procédure locale "DérouleTout" // Cette procédure déroule tous les noeuds "fils" enroulés du noeud "Desserts" Procédure DérouleTout(RecetteTV, CheminFils, FilsTrouvé, Niveau, Pointeur) // L'élément trouvé est-il une feuille ? SI ArbreTypeElement(RecetteTV, CheminFils + FilsTrouvé) = aFeuille ALORS Retour // Retour à la fonction ArbreListeFils SINON // L'élément trouvé est-il enroulé ? SI ArbreEtat(RecetteTV, CheminFils + FilsTrouvé) = aEnroule ALORS ArbreDéroule(RecetteTV, CheminFils + FilsTrouvé) FIN FIN
// Enroule l'arbre
ArbreEnroule(RecetteTV, "Recette")
|