PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Enrouler/Dérouler un arbre par programmation
  • Exemple
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Enrouler/Dérouler un arbre par programmation (syntaxe objet)
Enrouler/Dérouler un arbre par programmation
  • Pour enrouler un arbre par programmation, il suffit d'utiliser la fonction <Arbre>.Enroule.
  • Pour dérouler un arbre par programmation, il suffit d'utiliser la fonction <Arbre>.ListeFils combinée avec une procédure locale spécifique.
Versions 19 et supérieures
WINDEV Remarque : Pour optimiser le remplissage d'un champ Arbre, il est possible d'utiliser la propriété ..AjouteFilsDifféré sur les lignes du champ Arbre. Cette propriété permet de définir la procédure à exécuter pour le remplissage du niveau à dérouler. La recherche et le remplissage des fils ne sont effectués que lorsque l'utilisateur demande à les voir.
Nouveauté 19
WINDEV Remarque : Pour optimiser le remplissage d'un champ Arbre, il est possible d'utiliser la propriété ..AjouteFilsDifféré sur les lignes du champ Arbre. Cette propriété permet de définir la procédure à exécuter pour le remplissage du niveau à dérouler. La recherche et le remplissage des fils ne sont effectués que lorsque l'utilisateur demande à les voir.
WINDEV Remarque : Pour optimiser le remplissage d'un champ Arbre, il est possible d'utiliser la propriété ..AjouteFilsDifféré sur les lignes du champ Arbre. Cette propriété permet de définir la procédure à exécuter pour le remplissage du niveau à dérouler. La recherche et le remplissage des fils ne sont effectués que lorsque l'utilisateur demande à les voir.
Exemple
Les différents codes suivants permettent :
  • d'initialiser un champ Arbre.
  • de dérouler une partie du champ Arbre.
  • d'enrouler le champ Arbre.
  1. Initialiser le champ Arbre par programmation :
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert", "GATEAU-.BMP", "GATEAU-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Glace")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Glace" + ...
    TAB + "Vanille", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Glace" + ...
    TAB + "Fraise", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Glace" + ...
    TAB + "Chocolat", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Coupe")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Coupe" + ...
    TAB + "Pêche Melba", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Coupe" + ...
    TAB + "Poire belle hélène", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Coupe" + ...
    TAB + "Colonel", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Tarte aux pommes")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Tarte aux pommes" + ...
    TAB + "à la crème fraîche", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Tarte aux pommes" + ...
    TAB + "au calvados", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Crème brûlée", "SUIVAN5-.BMP")
    ARBRE_RecetteTV.Ajoute("Recette" + TAB + "Dessert" + TAB + "Vacherin", "SUIVAN5-.BMP")
  2. Dérouler tous les éléments : 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 "Dessert".
    // Liste les "fils" du noeud "Desserts" dans l'arbre "ARBRE_RecetteTV"
    // La procédure "DérouleTout" est appelée
    // pour chaque "fils" trouvé du noeud "Dessert"
    Res = ARBRE_RecetteTV.ListeFils("Recette" + TAB + "Dessert", "DérouleTout")
    PROCÉDURE DérouleTout(ARBRE_RecetteTV, CheminFils, FilsTrouvé, Niveau, Pointeur)
    // L'élément trouvé est-il une feuille ?
    SI ARBRE_RecetteTV.TypeElément(CheminFils + FilsTrouvé) = aFeuille ALORS
    RETOUR  // Retour à la fonction ArbreListeFils
    SINON
    // L'élément trouvé est-il enroulé ?
    SI ArbreEtat(ARBRE_RecetteTV, CheminFils + FilsTrouvé) = aEnroule ALORS
    ARBRE_RecetteTV.Déroule(CheminFils + FilsTrouvé)
    FIN
    FIN
  3. Enrouler le noeud "Dessert".
    // Enroule le noeud "Dessert" dans l'arbre "ARBRE_RecetteTV"
    Res = ARBRE_RecetteTV.Enroule("Recette" + TAB + "Dessert")
Version minimum requise
  • Version 23
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire