FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Gestionnaire de Projets Panoramic
par Minibug Aujourd'hui à 2:10

» Mah-Jong européen new-look
par jjn4 Hier à 16:35

» Button_picture
par pascal10000 Hier à 11:41

» Pourquoi le compilateur stagne
par Minibug Hier à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Hier à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Hier à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Hier à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Mer 13 Déc 2017 - 17:27

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Auto création d'un Menu Panoramic

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 15:34

Bonjour à tous
J'ai besoin d'aide sur ce code.
Code:
' Auto création d'un Menu Panoramic Pascal 1000, Minibug, Jean Claude

DIM no% :' en principe cette variable existe
no%=9 :' pour caler le premier main_menu à 10

WIDTH 0,600 : HEIGHT 0,60 : LEFT 0,400


DIM main_menu%(5):' possibilité de créer 5 main_menu
Create_Menu(1) :' en paramètre le numéro d'ordre du menu
END
rem ============================================================================
SUB Create_Menu(num_menu%)
    ' gestion des variables et label(s)
    if variable("NumSubMenu%")=0 then dim NumSubMenu%
    if variable("NumObjMainMenu%")=0 then dim NumObjMainMenu%
    if variable("n%")=0 then dim n%
    if variable("dlist_menu%")=0 then dim dlist_menu%
    if label("Nom_Sub_Menu")=0 then label Nom_Sub_Menu

    ' création du dlist contenant le code
    no%=no%+1 : LIST no% : dlist_menu%=no%

    ' création de main_menu
    no%=no%+1 : MAIN_MENU no% : main_menu%(num_menu%)=no% : NumObjMainMenu%=no% : NumSubMenu%=no%+1
    ' enregistrement provisoire
    ITEM_ADD dlist_menu%,"MAIN_MENU "+str$(no%)
    SUB_MENU NumSubMenu% : PARENT NumSubMenu%,no% : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
END_SUB
Nom_Sub_Menu:
  IF message_input("Edit Menu", "Sub_Menu" , "")=1
      CAPTION NUMBER_CLICK,MESSAGE_TEXT$
      OFF_CLICK NUMBER_CLICK
      ' enregistrement provisoire
      ITEM_ADD dlist_menu%,"  SUB_MENU "+str$(NUMBER_CLICK)+" : PARENT "+str$(NUMBER_CLICK)+","+str$(NumSubMenu%-2)+" : CAPTION "+str$(NUMBER_CLICK)+","+chr$(34)+caption$(NUMBER_CLICK)+chr$(34)
      IF message_confirmation_yes_no("Voulez-vous continuer votre menu ?")=1
        IF OBJECT_TYPE(OBJECT_PARENT(NUMBER_CLICK))=12
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,NumObjMainMenu% : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,NUMBER_CLICK : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
        END_IF
        IF OBJECT_TYPE(OBJECT_PARENT(NUMBER_CLICK))=13
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,OBJECT_PARENT(NUMBER_CLICK) : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,NUMBER_CLICK : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
        END_IF
      ELSE
      width dlist_menu%,600
        FOR n%=NumObjMainMenu%+1 to NumSubMenu%-1
            IF CAPTION$(n%)=STRING$(10," ") THEN ITEM_DELETE dlist_menu%,n% : DELETE n%
        NEXT n%
      END_IF
  ELSE
      message "Vous devez donner un nom !" : gosub Nom_Sub_Menu
  END_IF
RETURN
rem ============================================================================


1) si on passe la ligne 46 en 23 çà bug (mais c'est surement le même bug que Jack à signalé)
   Donc on laisse ainsi, ce ne doit pas être le problème.

2) Après avoir créé un menu et plusieurs sub_menu, vous agrandissez manuellement la fenêtre pour y découvrir ce qui est écrit dans le LIST.
Constat: j'ai des § qui se mettent dans les caption(s) des objets. Pourquoi  Question  Question  Question

Je repasse en fin d'après midi.


Dernière édition par Jean Claude le Dim 27 Sep 2015 - 15:22, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 16:22

bjr jc

peut tu être plus précis a propos du bug signalé par jack
je vais tester ton code
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2413
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 17:05

Citation :
j'ai des § qui se mettent dans les caption(s) des objets. Pourquoi

Oui effectivement c'est bizarre !
En plus c'est juste sur les menus qui sont rattaché au parent MAIN_MENU uniquement ???!!

Bizarre, vous avez dit bizarre !!! Exclamation Exclamation Question affraid
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Mer 23 Sep 2015 - 18:22

Et cela dépend de la lettre de début.
Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 19:19

@Pascal,
Pour le bug en attente de traitement c'est ici => http://panoramic.free-boards.net/t4419-un-mystere-a-resoudre

@tous,
Le code (en haut) n'est pas fini et comporte des anomalies, mais j'ai trop de chose à faire pour le moment.

Pour l'instant, c'est uniquement le problème des § que je voulais signaler car je suis à peu près certain que le problème a déjà été traité (de mémoire, par Klaus et Nardo...???) mais je ne retrouve pas le sujet.
Si quelqu'un se souvient...... Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10259
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 20:28

J'ai essayé de reproduire ton problème. J'ai défini une variable numberclick et je lui au affecté la valeur de NUMBER_CLICK tout au début, pour utiliser ensuite la variable nmberclick. Mais même ainsi, il y a un gros problème avec les valeurs pour la commande PARENT. Voici ce que le programme génère, pour le menu suivant:
fichiers
- ouvrir
- fermer
-
- sortir

Je ne sais pas d'où vient le "&" devant la première ligne. Mais le deuxième paramètre des comandes PARENT ext faux. Et c'est encore pire si j'essaie de faire un menu avec deux colonnes, ou des sous-menus. Il faut que tu revoies ta gestion des parents.

Voici le code de mon essai:
Code:
' Auto création d'un Menu Panoramic Pascal 1000, Minibug, Jean Claude

DIM no% :' en principe cette variable existe
no%=9 :' pour caler le premier main_menu à 10
DIM numberclick
WIDTH 0,600 : HEIGHT 0,60 : LEFT 0,400


DIM main_menu%(5):' possibilité de créer 5 main_menu
Create_Menu(1) :' en paramètre le numéro d'ordre du menu
END
rem ============================================================================
SUB Create_Menu(num_menu%)
    ' gestion des variables et label(s)
    if variable("NumSubMenu%")=0 then dim NumSubMenu%
    if variable("NumObjMainMenu%")=0 then dim NumObjMainMenu%
    if variable("n%")=0 then dim n%
    if variable("dlist_menu%")=0 then dim dlist_menu%
    if label("Nom_Sub_Menu")=0 then label Nom_Sub_Menu

    ' création du dlist contenant le code
    no%=no%+1 : LIST no% : dlist_menu%=no%

    ' création de main_menu
    no%=no%+1 : MAIN_MENU no% : main_menu%(num_menu%)=no% : NumObjMainMenu%=no% : NumSubMenu%=no%+1
    ' enregistrement provisoire
    ITEM_ADD dlist_menu%,"MAIN_MENU "+str$(no%)
    SUB_MENU NumSubMenu% : PARENT NumSubMenu%,no% : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
END_SUB
Nom_Sub_Menu:
  IF message_input("Edit Menu", "Sub_Menu" , "")=1
      numberclick = NUMBER_CLICK : CAPTION numberclick,MESSAGE_TEXT$
      OFF_CLICK numberclick
      ' enregistrement provisoire
      ITEM_ADD dlist_menu%,"  SUB_MENU "+str$(numberclick)+" : PARENT "+str$(numberclick)+","+str$(NumSubMenu%-2)+" : CAPTION "+str$(numberclick)+","+chr$(34)+caption$(numberclick)+chr$(34)
      IF message_confirmation_yes_no("Voulez-vous continuer votre menu ?")=1
        IF OBJECT_TYPE(OBJECT_PARENT(numberclick))=12
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,NumObjMainMenu% : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,numberclick : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
        END_IF
        IF OBJECT_TYPE(OBJECT_PARENT(numberclick))=13
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,OBJECT_PARENT(numberclick) : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
            SUB_MENU NumSubMenu% : PARENT NumSubMenu%,numberclick : CAPTION NumSubMenu%,STRING$(10," ") : ON_CLICK NumSubMenu%,Nom_Sub_Menu : NumSubMenu%=NumSubMenu%+1
        END_IF
      ELSE
      width dlist_menu%,600
        FOR n%=NumObjMainMenu%+1 to NumSubMenu%-1
            IF CAPTION$(n%)=STRING$(10," ") THEN ITEM_DELETE dlist_menu%,n% : DELETE n%
        NEXT n%
      END_IF
  ELSE
      message "Vous devez donner un nom !" : gosub Nom_Sub_Menu
  END_IF
RETURN
rem ============================================================================

Pourquoi tu ne fais pas une saisie des textes du menu dans un mémo, avec des "-" ou des "*" comme indentation, puis la frappe d'un bouton déclenche l'interprétation du contenu du menu pour générer le menu complet ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 21:00

merci j.c pour l'adresse

pour ton bug je ne sais pas et c bizarre
je ne pourrai pas t'apporter mon aide
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 21:21

Merci pour vos réponses,

@Klaus,
Ce code je l'ai repris de ce sujet => http://panoramic.free-boards.net/t4433p15-un-autre-editeur-particulier#53253
J'ai tenté de l'améliorer, car il me semblait bien parti. Et je ne me suis pas penché plus que ça sur les problèmes de parents qui sont faux.
Pour les caractères inattendus (§) il faut effectivement revoir la capture. Le stockage dans un mémo peut être une solution.

Mais au final, je pense que je vais repartir de zéro, quand j'aurais le temps car je n'ai pas besoin de ce programme.
Je voulais aider Pascal1000.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 23:22

mrc j.c pour ton aide mais c'etait un truc pour vous tous
et pluus particulierement pour gpp
je vais poster ma derniere idée que j'ai exploité
a+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Auto création d'un Menu Panoramic    Mer 23 Sep 2015 - 23:25

Je n’obtiens pas § mais &
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 24 Sep 2015 - 5:01

Il y a une petite sub qui permet d' éliminer ces caractères il me semble...
...il parait même qu' elle est publiée sur le site du mag.
Je crois même en connaitre l' auteur...un certain JL35 si ma mémoire est bonne.
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2413
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Auto création d'un Menu Panoramic    Jeu 24 Sep 2015 - 8:29

Merci a tous de vous soucier de GPP.

Je n'ai pas encore une fois eu beaucoup de temps cette semaine.
J'ai toujours une idée dans la tête pour le MENU DEROULANT, je vous préciserai tous cela dès que possible.

Merci a tous. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Jeu 24 Sep 2015 - 11:31

bjr

il n'y a aussi panedit de klaus il pourra l'amelioré
et celui de yergomini

j'ai mis une autre version amélioré
http://panoramic.free-boards.net/t4433p15-un-autre-editeur-particulier#53281
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10259
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 2:22

Pour créer un menu, tu peux aussi, comme je l'ai déjà suggéré, passer par un fichier texte, chargé dans un mémo, et générer le menu à partir de là. Voici un petit programme très simple qui réalise cela. Notons que "simple" ne veut pas dire "pas puissant". Tu peux créer autant de sous-menus et lignes de menus que tu veux, il gère le on_click et la génération autimatique des numéros d'objets.
Code:
' editeur_de_menu.bas
'
' Le menu est constitué dans un fichier texte.
' Me caractère "-" indique le niveau d'indention
' Le fichier est présenté dans un mémo, éditable.
' Il peut être sauvegardé et restauré.
' Un bouton permet de générer le code source du menu dans un autre mémo.
' Un spin donne le numéro d'objet de départ pour la création de tous les objets.

label load, save, generate, export, copy

dim no%, no1%, no_open%, no_save%, no_bas%, no_mnu%, no_stack%, no_start%, no_label%
dim f$, i%, s$, niv%, gg$, lab$
gg$ = chr$(34)

width 0,1000
no% = 1000 : no_mnu% = no%
no1% = no%
memo no% : top no%,10 : left no%,10 : width no%,400 : height no%,300 : bar_both no%
  font_name no%,"Courier" : font_size no%,10
no% = no% + 1 : button no% : top no%,top(no1%) : left no%,left(no1%)+width(no1%)+10
  caption no%,"Ouvrir" : on_click no%,load
no% = no% + 1 : button no% : top no%,top(no%-1)+30 : left no%,left(no%-1)
  caption no%,"Sauver" : on_click no%,save
no% = no% + 1 :alpha no% : top no%,top(no%-1)+50 : left no%,left(no%-1)
  caption no%,"Numéro de début:"
no% = no% + 1 : no_start% = no% : spin no%
  top no%,top(no%-1)+20 : left no%,left(no%-1) : width no%,80
  min no%,1 : max no%,10000 : position no%,100
no% = no% + 1 :alpha no% : top no%,top(no%-1)+30 : left no%,left(no%-1)
  caption no%,"Label onclick:"
no% = no% + 1 : no_label% = no% : edit no%
  top no%,top(no%-1)+20 : left no%,left(no%-1) : width no%,80
no% = no% + 1 : button no% : top no%,top(no%-1)+50 : left no%,left(no%-1)
  caption no%,"Générer" : on_click no%,generate
no% = no% + 1 : button no% : top no%,top(no%-1)+50 : left no%,left(no%-1)
  caption no%,"Exporter" : on_click no%,export
no% = no% + 1 : button no% : top no%,top(no%-1)+30 : left no%,left(no%-1)
  caption no%,"Copier" : on_click no%,copy
no% = no% + 1 : no_bas% = no% : memo no%
  top no%,top(no1%) : left no%,left(no1%+1)+width(no1%+1)+20
  width no%,width(no1%) : height no%,height(no1%) :inactive no%
no% = no% + 1 : no_open% = no% : open_dialog no%
no% = no% + 1 : no_save% = no% : save_dialog no%
no% = no% + 1 : no_stack% = no% : dlist no%
end

load:
  filter no_open%,"Fichier source menu|*.mnu"
  f$ = file_name$(no_open%)
  if f$="_" then return
  if lower$(right$(f$,4))<>".mnu" then f$ = f$ + ".mnu"
  if file_exists(f$)=0
    message "Ce fichier n'existe pas."
    message f$
    return
  end_if
  file_load no_mnu%,f$
  return
 
save:
  filter no_save%,"Fichier source menu|*.mnu"
  f$ = file_name$(no_save%)
  if f$="_" then return
  if lower$(right$(f$,4))<>".mnu" then f$ = f$ + ".mnu"
  if file_exists(f$)=1
    if message_information_yes_no("Ce fichier existe déjà. Remplacer ?")<>1 then return
  end_if
  file_save no_mnu%,f$
  return
 
export:
  filter no_save%,"Fichier source Panoramic|*.bas"
  f$ = file_name$(no_save%)
  if f$="_" then return
  if lower$(right$(f$,4))<>".bas" then f$ = f$ + ".bas"
  if file_exists(f$)=1
    if message_information_yes_no("Ce fichier existe déjà. Remplacer ?")<>1 then return
  end_if
  file_save no_bas%,f$
  message "Le texte généré a été enregistré."
  return
 
copy:
  if count(no_bas%)=0
    message "Il n'y a rien à copier."
    return
  end_if
  s$ = ""
  for i%=1 to count(no_bas%)
    s$ = s$ + item_read$(no_bas%,i%) +chr$(13) + chr$(10)
  next i%
  clipboard_string_copy s$
  message "Le texte généré a été copié dans le presse-papier."
  return

generate:
  if count(no_mnu%)=0
    message "Rien à générer."
    return
  end_if
  lab$ = trim$(text$(no_label%))
  if len(lab$)=0
    message "Le label n'est pas défini - 'Click' est utilisé par défaut."
    lab$ = "Click"
    text no_label%,lab$
  end_if
  no% = position(no_start%)
  clear no_bas%
  clear no_stack%
  item_add no_bas%,"label "+lab$
  item_add no_bas%,"main_menu "+str$(no%)
  item_add no_stack%,str$(no%)
  for i%=1 to count(no_mnu%)
    s$ = item_read$(no_mnu%,i%)
      niv% = 0
      while left$(s$,1)="-"
        niv% = niv% + 1
        s$ = mid$(s$,2,len(s$))
      end_while
      if niv%>=count(no_stack%)
        if niv%>(count(no_stack%)+1)
          message "Oups - erreur dans la structure à la ligne "+str$(i%)+chr$(13)+chr$(10)+s$
          return
        end_if
        item_add no_stack%,str$(no%)
      else
        while niv%<(count(no_stack%)-1)
          item_delete no_stack%,count(no_stack%)
        end_while
      end_if
      no% = no% + 1
      item_add no_bas%,"sub_menu "+str$(no%)
      item_add no_bas%,"  parent "+str$(no%)+","+item_read$(no_stack%,count(no_stack%))
      item_add no_bas%,"  caption "+str$(no%)+","+gg$+s$+gg$
      item_add no_bas%,"  on_click "+str$(no%)+","+lab$
  next i%
  item_add no_bas%,"end"
  item_add no_bas%,""
  item_add no_bas%,lab$ + ":"
  item_add no_bas%,"  Sub"+lab$+"()"
  item_add no_bas%,"  return"
  item_add no_bas%,""
  item_add no_bas%,"sub Sub"+lab$+"()"
  item_add no_bas%,"  dim_local obj%"
  item_add no_bas%,"  obj% = number_click"
  item_add no_bas%,"  select obj%"
  item_add no_bas%,"    case "+str$(position(no_start%)+1)
  item_add no_bas%,"'    case "
  item_add no_bas%,"'    case "
  item_add no_bas%,"'    case "
  item_add no_bas%," end_select"
  item_add no_bas%,"end_sub"


  return


Il travaille avec des fichiers *.mnu qui contiennent les définitions des menus, et génère des *.bas. Voici un fichier mnu à titre d'exemple, pour les tests:
Code:
Fichiers
-Ouvrir
--Texte
--Panoramic
---Ancien
---Nouveau
--RTF
-Nouveau
--Texte
--Panoramic
---Ancien
---Nouveau
--RTF
-Fermer
Edition
-Copier
-Coller

Et voici le code généré, parfaitement fonctionnel:
Code:
label Click
main_menu 100
sub_menu 101
  parent 101,100
  caption 101,"Fichiers"
  on_click 101,Click
sub_menu 102
  parent 102,101
  caption 102,"Ouvrir"
  on_click 102,Click
sub_menu 103
  parent 103,102
  caption 103,"Texte"
  on_click 103,Click
sub_menu 104
  parent 104,102
  caption 104,"Panoramic"
  on_click 104,Click
sub_menu 105
  parent 105,104
  caption 105,"Ancien"
  on_click 105,Click
sub_menu 106
  parent 106,104
  caption 106,"Nouveau"
  on_click 106,Click
sub_menu 107
  parent 107,102
  caption 107,"RTF"
  on_click 107,Click
sub_menu 108
  parent 108,101
  caption 108,"Nouveau"
  on_click 108,Click
sub_menu 109
  parent 109,108
  caption 109,"Texte"
  on_click 109,Click
sub_menu 110
  parent 110,108
  caption 110,"Panoramic"
  on_click 110,Click
sub_menu 111
  parent 111,110
  caption 111,"Ancien"
  on_click 111,Click
sub_menu 112
  parent 112,110
  caption 112,"Nouveau"
  on_click 112,Click
sub_menu 113
  parent 113,108
  caption 113,"RTF"
  on_click 113,Click
sub_menu 114
  parent 114,101
  caption 114,"Fermer"
  on_click 114,Click
sub_menu 115
  parent 115,100
  caption 115,"Edition"
  on_click 115,Click
sub_menu 116
  parent 116,115
  caption 116,"Copier"
  on_click 116,Click
sub_menu 117
  parent 117,115
  caption 117,"Coller"
  on_click 117,Click
end

Click:
  SubClick()
  return

sub SubClick()
  dim_local obj%
  obj% = number_click
  select obj%
    case 101
'    case
'    case
'    case
 end_select
end_sub

Ca peut toujours servir d'exemple...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 11:40

bonjour

hier soir j'ai découvert pourquoi le signe & s’ajoutai à la list
parce que c du fait que c'est directement l'appel
du caption par caption$(xxx) , il faut nommer ce caption
par une variable
exe: menu$=caption$(xxx)
      item_add 1,menu$; 1 qui est list

cela doit provenir de windows qui prend en compte que le
caption provient d'un menu

a part ça j'ai remarqué que plus personne ne prenais en compte
l’avancement de editmenu et cela me déçois d'autant plus qu'il est
opérationnelle à part qu'il y a quelque bug au niveau des références
aux menus créer qui a corrigé car des numéro ce croisent mais bon c pas grave
mais sinon mon idée était la bonne

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10259
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 12:14

Citation :
exe: menu$=caption$(xxx)
item_add 1,menu$; 1 qui est list

cela doit provenir de windows qui prend en compte que le
caption provient d'un menu
Intéressant, cette information ! Tu as certainement raison dans ton analyse.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 12:36

de rien klaus quand je peut aidé a mes découvertes
j'en fait part et c'est gratuit
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 15:15

Pascal1000 a écrit:
a part ça j'ai remarqué que plus personne ne prenais en compte
l’avancement de editmenu et cela me déçois d'autant plus qu'il est
opérationnelle à part qu'il y a quelque bug au niveau des références
aux menus créer qui a corrigé car des numéro ce croisent mais bon c pas grave
mais sinon mon idée était la bonne

Heu.. c'est normal, si tu fournis un code sans la DLL qui ne sert à rien pour les tests, tu auras peut-être plus de réactions.
Mais t'occupe pas des réactions, tu travailles pour toi.


De mon coté, j'ai repris à zéro et ça se passe plutôt bien pour le moment.
Affaire à suivre.....

A+

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2413
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 15:24

Pour le coup des DLLs Jean Claude n'a pas tort ! Wink

J'ai bataillé pour les retrouver ces DLLs...

D'ailleurs quels intérêts ont elles dans ton programme Pascal ?
Car je pense que l'on doit pouvoir s'en passer sans trop de difficultés, mais je me trompe peut_être...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 15:29

Oui, on peut s'en passer, j'ai fait le test.

Mais forcément ça décourage un bon nombre de testeur d'aller plus loin...

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 17:04

Je suis tout a fait d'accord avec vous que je peut me passer de librairie
Remarque: Si j'ai utilisé une dll c'est tout simplement pour neutraliser les fonctions
d'une fenêtre (form) croix et redimensionnement et c'est tout et ensuite c'est pour évite
de rajouté des code pour le cas on viendrai a fermé une form! on est pas dupe et quelle ne soit impossible de
la ré ouvrir même avec un hide c'est en quelque sorte une sécurité, ragrandir la fenêtre principal
a quoi bon puisqu’elle n'est pas utilisé
mais cela rien ne vous empêche de supprimé la librairie du source. et faire des test et donner
vos opinions
de mon coté ce source, j'ai cherché depuis longtemps à le créé pour simplifier mes créations
et que vous en profitiez également parce que il n'y avais rien de prévu dans panoramic ide pour cette opération
excuse jack ce n'est pas critique!
voila pourquoi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 17:48

voici ce que ça donne sans librairie et sans aperçu du code en memo

Code:
label creer,creerenfant,depart,tri
dim nomme$, spac$, num%, num2%, num3%, pare%, retour
spac$="

width 0,600 : height 0,60
left 0,400
hide 0
main_menu 1000

sub_menu 1100 : parent 1100,1000 : caption 1100,"Commencer ici"
on_click 1100,depart
sub_menu 1200 : parent 1200,1000 : caption 1200,string$(10," ") : inactive 1200
on_click 1200,depart
sub_menu 1300 : parent 1300,1000 : caption 1300,string$(10," ") : inactive 1300
on_click 1300,depart
sub_menu 1400 : parent 1400,1000 : caption 1400,string$(10," ") : inactive 1400
on_click 1400,depart
sub_menu 1500 : parent 1500,1000 : caption 1500,string$(10," ") : inactive 1500
on_click 1500,depart
sub_menu 1600 : parent 1600,1000 : caption 1600,string$(10," ") : inactive 1600
on_click 1600,depart
sub_menu 1700 : parent 1700,1000 : caption 1700,string$(10," ") : inactive 1700
on_click 1700,depart
sub_menu 1800 : parent 1800,1000 : caption 1800,string$(10," ") : inactive 1800
on_click 1800,depart
sub_menu 1900 : parent 1900,1000 : caption 1900,string$(10," ") : inactive 1900
on_click 1900,depart
sub_menu 2000 : parent 2000,1000 : caption 2000,string$(10," ") : inactive 2000
on_click 2000,depart

' form pour enfant option
form 200
left 200,629
Top 200,340
Width 200,242
Height 200,120
Caption 200,"Option"

hide 200

command_target_is 200

edit 201
left 201,10
Top 201,10
Width 201,120

check 203
top 203,10
left 203,140
width 203,60
caption 203,"Enfant"
hide 203

button 202
top 202,40
left 202,60
caption 202,"OK"
on_click 202,tri


show 0
set_focus 0
end

' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
depart:
num%=number_click  :' defini le click
pare%=object_parent(num%)  :' defini son parent

if object_type(pare%)=12
hide 203
off_click num%
pare%=num%
if num%+100<2100 then active num%+100
end_if

text 201,""

show 200 :' ouvre de saisi du caption
set_focus 201
return
' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
tri:
if checked(203)=1
gosub creerenfant
else
gosub creer
end_if
return
' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
creer:
nomme$=text$(201)
caption num%,nomme$
hide 200

    message caption$(num%)+" "+ str$(num2%)+" "+ str$(num3%)

num%=num%+1

if num%>1100 then show 203

if num%<>num2%
sub_menu num% : parent num%,pare% : caption num%,string$(10," ")
end_if

num2%=num%
on_click num%,depart
return
' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
' créer l'enfant
creerenfant:
nomme$=text$(201)
caption num%,nomme$
hide 200
show 203

num3%=num3%+20 : ' nouveau sub_menu en desous de num%
sub_menu num3% : parent num3%,pare% : caption num3%,string$(10," ")

num2%=num%+2 : ' l'enfant de num
sub_menu num2% : parent num2%,num% : caption num2%,string$(10," ")

    message caption$(num%)+" "+ str$(num2%)+" "+ str$(num3%)


off_click num%
on_click num2%,depart
on_click num3%,depart
return
' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

' ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
et il marche!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 18:14

Pascal1000 a écrit:
excuse jack ce n'est pas critique!
Si si c'est une critique, mais ce n'est pas grave. Il n'y a pas de mal a critiquer. Critiquer, c'est donner son opinion, dire ce que l'on trouve bien, dénoncer les manques, dire ce que l'on n'aime pas ou ce qui pourrait être modifier pour que cela soit mieux selon nos propres critères et nos goûts et ça c'est l'un des buts du forum avec le partage de ses connaissances et de ses sources et autres trouvailles.
Il n'y a pas de mal à avoir des goûts ou des opinions différentes surtout lorsque l'on explique pourquoi et après ça permet d'en tenir compte ou non. C'est en confrontant des visions, des façon de faire différentes et autres critiques de son travail que l'on peut avancer. Je ne pense pas que Jack en prenne ombrage puisque ça lui permet s'il trouve une idée prioritaire ou correspondant à ce qu'il veut faire dans son temps libre, de le faire.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2413
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 18:16

Bonjour Pascal !

Je viens de tester ton code ! J'aime bien le principe.
Seulement il y a quelques problèmes lorsque l'on revient sur un élément existant pour changer le nom par exemple.
Cela crée des sous menus supplémentaires.
Tu devrai aussi ajouter un test si on crée un menu vide sans aucun caractères par exemple, pour ne pas l'ajouter.

Ça me semble être une bonne voie. continu comme ça... Wink

PS : j'ai regardé ton éditeur sur le WEBDAV.
Je fais le même constant concernant les DLLs. Tu pourrais aussi les ajouter au dossier.

L'aspect est sympa, il te reste encore du travail tout comme pour GPP.
Bon courage... drunken

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
pascal10000

avatar

Nombre de messages : 620
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Auto création d'un Menu Panoramic    Sam 26 Sep 2015 - 20:11

minibug
le renommage a été retiré volontairement c'est juste un aperçu
pour le maniement des menus

en ce qui concerne editbas je laisse pour le moment voir même
l'abandonner par manque de motivation en programmation
et enfin toute les librairies que je me sert sont de klaus et de nardo26
et pour les récupéré faite comme moi téléchargé les toutes elles sont
toutes utile sans exception et en passant je leur retire mon chapeau
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Auto création d'un Menu Panoramic    

Revenir en haut Aller en bas
 
Auto création d'un Menu Panoramic
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» [Résolu] Création d'un menu en liste déroulante
» commande menu "Enregistrer"
» Menu création de variables
» Idée (Music est création)
» création d' une image pour tagger

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: