banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Fri 18 June 2010 15:45

V. Girault
Participant actif
Lieu: Clermont-Ferrand
Date d'inscription: 22 Sep 2005
Messages: 106

[MAPBASIC 8.5] Sous-menu en MapBasic

Bonjour @ tous !

J'essaie en ce moment de faire un sous-menu rattaché à un menu général en Mapbasic. Dans mon Menu, le premier item affiché correspondrait au sous-menu, au-dessous, je souhaite placer deux options, un séparateur et une dernière option. Apparemment, cet exercice est particulièrement périlleux, je me demande d'ailleurs à l'usure si c'est effectivement possible.

J'ai testé ce code ci avec succès :

Code:

'    Create Menu "Menuhier" As
'        "hier1", 
'        "hier2"
'    Create Menu "Menu1" As
'        "SM1",
'        "SM2",
'        "Menuhier" As "Menuhier"

'    Alter Menu ID 4 Add 
'        "(-" ID 990,"Menu1" ID 991 As "Menu1"

mais çà ne correspond pas forcément à la structure décrite plus haut.

Je teste ensuite ce code ci adapté à mon souhait et il ne fonctionne plus :

Code:

    Create Menu "Requetes" As
        "Districts",
        "Opérations",
        "Département"
    Create Menu "Cartographic Automate" As
        "Ouvrir Document",
        "Requetes" As "Requetes"
        "Cartographie",
        "(-",
        "&A propos..." HelpMsg "Description de l'outil."  Calling AboutApp,
        "(-",
        "&Quitter Cartographic Automate\tCtrl+Q/W^Q"  HelpMsg "Quitter l'application."  Calling EndApp

    Alter Menu ID 4 add 
    "(-" ID 990,"Cartographic Automate" ID 991 as "Cartographic Automate"

Mapbasic rencontre une erreur en signalant que Cartographie est inconnu.... qu'il y ait une procédure affectée derrière ou non.
Y aurait-il une petite subtilité ? Je me base sur l'exemple donné dans le livre de Mapbasic P. 194, mais l'exemple correspond t'il au sens strict du code, c'est à dire dans le cas démontré, le menu hiérarchique doit se placer en dernier après les options de menus classiques ? C'est incroyablement limité !
Auriez-vous rencontré pareil cas de figure et si oui, comment l'avez vous élucidé ?

Merci beaucoup d'avance.

Hors ligne

 

#2 Fri 18 June 2010 16:01

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MAPBASIC 8.5] Sous-menu en MapBasic

Bonjour
Comme il dit à la télé, c'est une p.... de bonne question (du vendredi) ! Chiche qu'on élucide avant lundi smile

Hors ligne

 

#3 Fri 18 June 2010 16:23

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: [MAPBASIC 8.5] Sous-menu en MapBasic

Je ne comprend pas cette ligne

"Requetes" As "Requetes"
....
Ne devrait-il pas èa tout moins y avoir une virgule apres?

JF

Hors ligne

 

#4 Fri 18 June 2010 19:42

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MAPBASIC 8.5] Sous-menu en MapBasic

Bonjour
C'est jean94 qui a élucidé: dans les Create Menu, il faut des virgules à la fin de chaque ligne sauf la dernière

Code:

    Create Menu "Requetes" As
        "Districts",
        "Opérations",
        "Département"
    Create Menu "Cartographic Automate" As
        "Ouvrir Document",
        "Requetes" As "Requetes",
        "Cartographie",
        "(-",
        "&A propos..." HelpMsg "Description de l'outil."  Calling AboutApp,
        "(-",
        "&Quitter Cartographic Automate\tCtrl+Q/W^Q"  HelpMsg "Quitter l'application."  Calling EndApp

    Alter Menu ID 4 add 
    "(-" ID 990,"Cartographic Automate" ID 991 as "Cartographic Automate"

Hors ligne

 

#5 Mon 21 June 2010 08:26

V. Girault
Participant actif
Lieu: Clermont-Ferrand
Date d'inscription: 22 Sep 2005
Messages: 106

Re: [MAPBASIC 8.5] Sous-menu en MapBasic

Bonjour à tous !

ARG ! Gagné.... Et en plus dans les temps Maurice big_smile ! Encore un truc ballot.... Mais vu comment la chose est expliquée dans la doc, on a tendance à penser que c'est ce genre de commandes "Trucs" as "Trucs" uniquement qui ne requiert pas de virgule à la fin de l'instruction. C'est ce que j'ai fait en me bornant à suivre l'exemple....

Merci jean94 et Maurice !

Hors ligne

 

Pied de page des forums

Powered by FluxBB