1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Tester l'existence d'un Menu ou une option dans une fenêtre

Discussion dans 'Windev' créé par Mauritius, Mai 30, 2018.

  1. Mauritius

    Mauritius Member

    Inscrit:
    Fev 10, 2018
    Messages:
    74
    J'aime reçus:
    70
    :)
    Code (Windev):

    // Résumé : Test l'existence d'un menu ou d'une option de menu
    // Syntaxe :
    //[ <Résultat> = ] ChkMenuExiste (<prmMenu> [, <prmFenêtre>])
    //
    // Paramètres :
    //    prmMenu : Nom du menu à rechercher (ex : MNU_CG)
    //    prmFenêtre : Nom de la fenêtre du menu (<MaFenêtre> par défaut)
    // Valeur de retour :
    //     booléen : <Vrai> si le menu existe.
    //
    // Exemple :
    // Indiquez ici un exemple d'utilisation.
    //
    PROCEDURE ChkMenuExiste(prmMenu, prmFenêtre=MaFenêtre..Nom)
    nI, nJ est entier
    NomMenu, NomSousMenu est une chaîne
    nI=1
    NomMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (prmFenêtre, 1) // lecture du 1er menu de la fenêtre
    TANTQUE NomMenu <> ""
        SI NomMenu=prmMenu ALORS RENVOYER Vrai
        nJ = 1
        NomSousMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (NomMenu, nJ) // lecture de la 1er option du menu
        TANTQUE NomSousMenu <> ""
            SI NomSousMenu=prmMenu ALORS RENVOYER Vrai
            nJ++ // option suivante
            NomSousMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (NomMenu, nJ)
        FIN
        nI++ // menu suivant
        NomMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (prmFenêtre,nI)
    FIN
    RENVOYER Faux
     
     
    Tags:
  2. kabeda

    kabeda Active Member

    Inscrit:
    Avr 23, 2018
    Messages:
    173
    J'aime reçus:
    63
    Bonjour,
    Je préfère toujours mettre le code entre balises. Histoire d'être plus visible.

    Code (Windev):

    // Résumé : Test l'existence d'un menu ou d'une option de menu
    // Syntaxe :
    //[ <Résultat> = ] ChkMenuExiste (<prmMenu> [, <prmFenêtre>])
    //
    // Paramètres :
    // prmMenu : Nom du menu à rechercher (ex : MNU_CG)
    // prmFenêtre : Nom de la fenêtre du menu (<MaFenêtre> par défaut)
    // Valeur de retour :
    // booléen : <Vrai> si le menu existe.
    //
    // Exemple :
    // Indiquez ici un exemple d'utilisation.
    //
    PROCEDURE ChkMenuExiste(prmMenu, prmFenêtre=MaFenêtre..Nom)
    nI, nJ est entier
    NomMenu, NomSousMenu est une chaîne
    nI=1
    NomMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (prmFenêtre, 1) // lecture du 1er menu de la fenêtre
    TANTQUE NomMenu <> ""
    SI NomMenu=prmMenu ALORS RENVOYER Vrai
    nJ = 1
    NomSousMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (NomMenu, nJ) // lecture de la 1er option du menu
    TANTQUE NomSousMenu <> ""
    SI NomSousMenu=prmMenu ALORS RENVOYER Vrai
    nJ++ // option suivante
    NomSousMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (NomMenu, nJ)
    FIN
    nI++ // menu suivant
    NomMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (prmFenêtre,nI)
    FIN
    RENVOYER Faux
     
     
    suenodesign apprécie ceci.
  3. Kelard

    Kelard Active Member
    MEMBRE WX

    Inscrit:
    Avr 6, 2018
    Messages:
    103
    J'aime reçus:
    134
    Merci

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    pour ton partage,

    J'ai regarder ton code, il est fonctionnel seulement quand tu as un menu+option, mais non fonction fonctionnelle si menu+option+sous_option+sous_option+...

    Bref il ne va jamais jusqu'au bout de l’arborescence du menu.

    J'ai modifié ton code pour cela (pas de beaucoup vu que t'avais déjà fait 90% du taf ;)) :

    Code (Windev):
    PROCEDURE ChkMenuExiste(prmMenu, prmFenêtre=MaFenêtre..Nom)

    nI est un entier//, nJ est entier
    //nI, nJ est entier
    NomMenu est une chaîne//, NomSousMenu est une chaîne
    //NomMenu, NomSousMenu est une chaîne
    nI=1
    NomMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (prmFenêtre, 1) // lecture du 1er menu de la fenêtre

    TANTQUE NomMenu <> ""
        SI NomMenu=prmMenu ALORS RENVOYER Vrai
     
        //****mode récursive pour aller jusqu'au bout de l'aborescence d'un menu
        SI ChkMenuExiste(prmMenu,NomMenu) ALORS
            RENVOYER Vrai
        FIN
     
    //    nJ = 1
    //    NomSousMenu = EnumèreMenu(NomMenu, nJ) // lecture de la 1er option du menu
    //    TANTQUE NomSousMenu <> ""
    //        SI NomSousMenu=prmMenu ALORS RENVOYER Vrai
    //      
    //        nJ++ // option suivante
    //        NomSousMenu = EnumèreMenu(NomMenu, nJ)
    //    FIN
        nI++ // menu suivant
        NomMenu =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    (prmFenêtre,nI)
    FIN

    RENVOYER Faux
     

Partager cette page

Chargement...