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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 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

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

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 | 
 

 Un autre editeur particulier

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

avatar

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

MessageSujet: Un autre editeur particulier   Lun 21 Sep 2015 - 2:43

très tôt pour m’occuper

et mi douiller ce source
ce n'est qu'une ébauche qui vas être utile a certain
un ! minibug!!!! pour gpp

je vous laisse le découvrir

Code:
label nomme
dim nomme$,num% , num2%, pare%

width 0,600 : height 0,60
left 0,300

main_menu 100

sub_menu 110 : parent 110,100 : caption 110,string$(10," ")
on_click 110,nomme
sub_menu 120 : parent 120,100 : caption 120,string$(10," ") : inactive 120
on_click 120,nomme
sub_menu 130 : parent 130,100 : caption 130,string$(10," ") : inactive 130
on_click 130,nomme
sub_menu 140 : parent 140,100 : caption 140,string$(10," ") : inactive 140
on_click 140,nomme
sub_menu 150 : parent 150,100 : caption 150,string$(10," ") : inactive 150
on_click 150,nomme
sub_menu 160 : parent 160,100 : caption 160,string$(10," ") : inactive 160
on_click 160,nomme
sub_menu 170 : parent 170,100 : caption 170,string$(10," ") : inactive 170
on_click 170,nomme
end

nomme:

num%=number_click
pare%=object_parent(num%)

if object_type(pare%)=12
off_click num%
pare%=num%
active num%+10
end_if

if message_input("Edit Menu", "Sub_Menu" , "")=1
nomme$=message_text$
caption num%,nomme$
num2%=num%
else
return
end_if

num%=num%+1
sub_menu num% : parent num%,pare% : caption num%,string$(10," ")
on_click num%,nomme
return

en lisant le code vous allez tout de suite comprendre de quoi il s'agit
bonne nuit
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Klaus

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 3:06

Belle idée de construction de menus de façon interactive ! Bravo pour l'idée.

Dans la réalisation, il y a un petit truc à revoir:
1. clique sur la case qui correspond au premier menu (initialement sans libellé)
2. saisis le libellé "aaa" pour ce menu
3. re-clique sur "aaa"
4. saisie le libellé "bbb" pour le sous-menu dont la ligne vide s'affiche
5. clique sur "bbb" ==> crash: objet déjà défini en ligne 45.

Je pense qu'il faut utiliser une variable indépendente pour les numéros des sous-menus à créer. Ta variable num% est très bien pour ça. Mais je crois qu'il y a un mélange avec la variable num2% qui est chargée mais jamais utilisée...

Essaie de créer juste me main-menu et le premier sous-menu les sous-menu, afin que quelque chose soit cliquable à l'écran. Puis, en fonction des objets cliqués, tu fais systématiquement num%=num%+1 et tu crées le sous-menu correspondant, ou tu saisis le libellé du sous-menu cliqué.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 8:25

ok klaus je vais continue a developé

num2% est une variable qui etait en réserve pour ça justement!
je l'ai fait a l'arrache cette nuit car l'idée m’était
venu avec d'autre essai que j'ai fait auparavantet
qui n'ont pas abouti
merci


Dernière édition par pascal10000 le Lun 21 Sep 2015 - 9:40, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 8:39

Très intéressant Pascal !

Bien que j'ai aussi une petite idée derrière la tête, je vais suivre ton approche avec grand intérêt !
N'oublies pas les sous menu dans les menus... ( et les sous menu dans les sous menu, etc...) drunken

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

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 9:36

sa y est le bug a disparu celui signalé par klaus

voici la mise a jour
Code:
label nomme,renomme
dim nomme$,num% , num2%, pare%

width 0,600 : height 0,60
left 0,300

main_menu 100

sub_menu 110 : parent 110,100 : caption 110,string$(10," ")
on_click 110,nomme
sub_menu 120 : parent 120,100 : caption 120,string$(10," ") : inactive 120
on_click 120,nomme
sub_menu 130 : parent 130,100 : caption 130,string$(10," ") : inactive 130
on_click 130,nomme
sub_menu 140 : parent 140,100 : caption 140,string$(10," ") : inactive 140
on_click 140,nomme
sub_menu 150 : parent 150,100 : caption 150,string$(10," ") : inactive 150
on_click 150,nomme
sub_menu 160 : parent 160,100 : caption 160,string$(10," ") : inactive 160
on_click 160,nomme
sub_menu 170 : parent 170,100 : caption 170,string$(10," ") : inactive 170
on_click 170,nomme
end

nomme:

num%=number_click
pare%=object_parent(num%)


if object_type(pare%)=12
off_click num%
pare%=num%
active num%+10
end_if

gosub renomme

num%=num%+1

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

num2%=num%
on_click num2%,renomme
on_click num%,nomme
return

renomme:
if message_input("Edit Menu", "Sub_Menu" , "")=1
nomme$=message_text$
caption num%,nomme$
else
return
end_if

return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Jicehel

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 9:52

Oui, c'est très malin.
Par contre bien sûr après il faut blinder un peu comme par exemple si on reclic sur un élément déjà définit pour soit l'empêcher soit gérer l'insertion avant l'objet sélectionné et éviter ainsi le message d'erreur indiquant que l'objet est déjà définit.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

Nombre de messages : 1104
Age : 60
Localisation : Val de Marne
Date d'inscription : 13/11/2011

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 10:29

Bonjour à tous,
Il y a très longtemps, j'avais fait ça:
(attention aux répertoires créer automatiquement)
Code:
dim i,j,m,n,LB$,LABEL$,CP$,LIGNE$,SEG$,F$,MOT$,rep$
label init,ouvre,sauve,quit,edite,valide,annule,faitcode,modif
rep$="c:\mesprog":if dir_exists(rep$)=0 then dir_make rep$
rep$="c:\mesprog\planiform":if dir_exists(rep$)=0 then dir_make rep$
rep$="c:\mesprog\planiform\menus":if dir_exists(rep$)=0 then dir_make rep$

width 0,1024:height 0,728:left 0,(screen_x-width(0))/2:top 0,(screen_y-height(0)-40)/2
main_menu 1
sub_menu 2:parent 2,1:caption 2,"Fichier"
sub_menu 3:parent 3,2:caption 3,"Nouveau":on_click 3,init
sub_menu 4:parent 4,2:caption 4,"Ouvrir":on_click 4,ouvre
sub_menu 5:parent 5,2:caption 5,"Sauver":on_click 5,sauve
sub_menu 6:parent 6,2:caption 6,"Quitter":on_click 6,quit

memo 8:width 8,width(0)-400:height 8,height(0)-58:bar_both 8:font_name 8,"Fixedsys"
alpha 9:left 9,700:top 9,10:font_name 9,"Consolas":font_bold 9:font_size 9,12
alpha 10:left 10,700:top 10,60:font_name 10,"Consolas":font_bold 10:font_size 10,12
combo 11:left 11,800:top 11,60
alpha 12:left 12,700:top 12,110:font_name 12,"Consolas":font_bold 12:font_size 12,12
edit 13:left 13,800:top 13,110:on_change 13,edite
alpha 14:left 14,700:top 14,160:font_name 14,"Consolas":font_bold 14:font_size 14,12
edit 15:left 15,800:top 15,160:on_change 15,edite
button 16:left 16,700:top 16,210:font_name 16,"Verdana":font_bold 16:caption 16,"VALIDER":on_click 16,valide
button 17:left 17,850:top 17,210:font_name 17,"Verdana":font_bold 17:caption 17,"ANNULER":on_click 17,annule
list 18:left 18,625:top 18,270:width 18,375:height 18,400:on_double_click 18,modif
alpha 19:left 19,700:top 19,250:caption 19,"Double clic pour modifier un sub_menu"
gosub init
end

modif:
' ISOLER N° DU SUB_MENU
SEG$=item_index$(18):SEG$=right$(SEG$,len(SEG$)-9)
j=instr(SEG$,":"):n=val(left$(SEG$,j-1)):caption 9,"Sub_Menu "+str$(n)
' ISOLER LE N° DU PARENT
SEG$=mid$(SEG$,j+1,len(SEG$)):j=instr(SEG$,","):SEG$=mid$(SEG$,j+1,len(SEG$))
j=instr(SEG$,":"):MOT$=left$(SEG$,j-1)
' et afficher le nom du parent + son n°
for i=1 to count(11)
   if val(right$(item_read$(11,i),3))=val(MOT$) then text 11,item_read$(11,i)
next i
' ISOLER LE CAPTION
SEG$=mid$(SEG$,j+1,len(SEG$)):j=instr(SEG$,chr$(34)):SEG$=mid$(SEG$,j+1,len(SEG$))
j=instr(SEG$,chr$(34)):CP$=left$(SEG$,j-1):SEG$=mid$(SEG$,j+1,len(SEG$)):text 13,CP$
' ISOLER LE LABEL
text 15,"":if SEG$<>"" then j=instr(SEG$,","):LB$=mid$(SEG$,j+1,len(SEG$)):text 15,LB$
m=1
return

faitcode:
clear 8
item_add 8,"label "+LABEL$:item_add 8,"":item_add 8,"main_menu 1"
for i=1 to count(18):item_add 8,item_read$(18,i):next i
item_add 8,"":item_add 8,"end":item_add 8,""
SEG$=LABEL$:i=instr(SEG$,",")
while i>0
   LB$=left$(SEG$,i-1):item_add 8,LB$+":":item_add 8,"return":item_add 8,""
   SEG$=mid$(SEG$,i+1,len(SEG$)):i=instr(SEG$,",")
end_while
if SEG$<>"" then item_add 8,SEG$+":":item_add 8,"return"
return

valide:
if text$(11)="" then return
if LB$<>"" then LABEL$=LABEL$+","+LB$:if left$(LABEL$,1)="," then LABEL$=right$(LABEL$,len(LABEL$)-1)
LIGNE$="sub_menu "+str$(n)+":parent "+str$(n)+","+str$(val(right$(text$(11),3)))+":caption "+str$(n)+","+chr$(34)+CP$+chr$(34)
if LB$<>"" then LIGNE$=LIGNE$+":on_click "+str$(n)+","+LB$
if m=0
   item_add 18,LIGNE$:gosub faitcode
   item_add 11,CP$+"   "+str$(n):n=n+1:caption 9,"Sub_Menu "+str$(n)
else
   item_insert 18,item_index(18),LIGNE$:item_delete 18,item_index(18):LABEL$=""
   clear 11:item_add 11,"Main_menu  1"
   for i=1 to count(18)
      SEG$=item_read$(18,i):SEG$=right$(SEG$,len(SEG$)-9)
      j=instr(SEG$,":"):MOT$=left$(SEG$,j-1):SEG$=mid$(SEG$,j+1,len(SEG$))
      j=instr(SEG$,chr$(34)):SEG$=mid$(SEG$,j+1,len(SEG$))
      j=instr(SEG$,chr$(34)):CP$=left$(SEG$,j-1):CP$=CP$+"  "+MOT$:item_add 11,CP$
      while j>0
         SEG$=mid$(SEG$,j+1,len(SEG$)):j=instr(SEG$,",")
      end_while
      if SEG$<>"" then LABEL$=LABEL$+SEG$+","
   next i
   if LABEL$<>"" then LABEL$=left$(LABEL$,len(LABEL$)-1)
   gosub faitcode:n=count(18)+2:caption 9,"Sub_Menu "+str$(n)
   m=0
end_if
annule:
text 11,"":text 13,"":text 15,"":LB$="":CP$=""
return

ouvre:
gosub init
open_dialog 7:dir_dialog 7,rep$:filter 7,"fichier bas|*.bas"
F$=file_name$(7):delete 7
if F$<>"_"
   file_load 8,F$
   for i=1 to count(8)
      if left$(item_read$(8,i),5)="label" then LABEL$=item_read$(8,i):LABEL$=right$(LABEL$,len(LABEL$)-6)
      if left$(item_read$(8,i),8)="sub_menu"
         item_add 18,item_read$(8,i)
         SEG$=item_read$(8,i)
         j=instr(SEG$,chr$(34)):SEG$=mid$(SEG$,j+1,len(SEG$))
         j=instr(SEG$,chr$(34)):MOT$=left$(SEG$,j-1)
         SEG$=item_read$(8,i)
         SEG$=right$(SEG$,len(SEG$)-9):j=instr(SEG$,":")
         MOT$=MOT$+"  "+left$(SEG$,j-1):item_add 11,MOT$
      end_if
   next i
   gosub faitcode:n=count(18)+2:caption 9,"Sub_Menu "+str$(n):LB$=""
end_if
return

sauve:
save_dialog 7:dir_dialog 7,rep$:filter 7,"fichier bas|*.bas"
F$=file_name$(7):if right$(F$,4)<>".bas" then F$=F$+".bas"
if file_exists(F$)=1
   beep_exclamation
   if message_warning_yes_no("Le fichier "+F$+" existe déjà dans le répertoire!"+chr$(10)+chr$(13)+"     Désirez-vous le remplacer?")=1
      file_read_only_off F$:file_delete F$
   else
   F$="_":delete 7:goto sauve
   end_if
end_if
if F$<>"_.bas" then file_save 8,F$
delete 7
return

init:
n=2:caption 9,"Sub_Menu "+str$(n):caption 10,"Parent":caption 12,"Caption":caption 14,"Label":LB$="":LABEL$=""
clear 8:clear 11:clear 18:text 11,"":text 13,"":text 15,"":item_add 11,"Main_menu  1":return

edite:
texte(number_change,len(text$(number_change)))
return
sub texte(ed,curs)
text ed,text$(ed):caret_position ed,curs
if ed=13 then CP$=text$(ed)
if ed=15 then LB$=text$(ed)
end_sub

quit:
terminate
Ça pourrait peut-être vous inspirer ou bien vous aider?
A+ Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
pascal10000

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 10:58

oui bignono
intéressant ton p'tit programme
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Jean Claude

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 11:01

Oui, intéressant ton programme Pascal1000.
C'est à suivre....

Salut Bignono... Very Happy

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

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 20:39

La suite!

Code:
label nomme,renomme
dim nomme$, spac$, num%, num2%, pare%
spac$="

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

sub_menu 110 : parent 110,100 : caption 110,string$(10," ")
on_click 110,nomme
sub_menu 120 : parent 120,100 : caption 120,string$(10," ") : inactive 120
on_click 120,nomme
sub_menu 130 : parent 130,100 : caption 130,string$(10," ") : inactive 130
on_click 130,nomme
sub_menu 140 : parent 140,100 : caption 140,string$(10," ") : inactive 140
on_click 140,nomme
sub_menu 150 : parent 150,100 : caption 150,string$(10," ") : inactive 150
on_click 150,nomme
sub_menu 160 : parent 160,100 : caption 160,string$(10," ") : inactive 160
on_click 160,nomme
sub_menu 170 : parent 170,100 : caption 170,string$(10," ") : inactive 170
on_click 170,nomme

form 300 : caption 300,"Source"
memo 310 : full_space 310
parent 310,300
show 0

item_add 310,"Main_Menu 100"
item_add 310,""
end

nomme:

num%=number_click
pare%=object_parent(num%)

if object_type(pare%)=12
off_click num%
pare%=num%
if num%+10<180 then active num%+10
end_if

gosub renomme

num%=num%+1

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

num2%=num%
on_click num2%,renomme
on_click num%,nomme
return

renomme:
if message_input("Edit Menu", "Sub_Menu" , "")=1
nomme$=message_text$
caption num%,nomme$

item_add 310,"Sub_Menu "+str$(num%)
item_add 310,"Parent "+str$(num%)+","+str$(object_parent(num%))
item_add 310,"Caption "+str$(num%)+","+spac$+nomme$+spac$

if nomme$<>"-"
  item_add 310,"On_Click "+str$(num%)+","
  item_add 310,""
  else
  item_add 310,""
end_if

else
return
end_if

return

n'oublier pas pour faire une barre de séparation il faut comme caractère un moin "-"
du pavé numéric
A suivre
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 23:12

Ça prend forme mais il manque toujours une partie de l'arborescence... Wink

Les fameux sous menu dans les sous menu dans les sous menu...

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

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 23:21

je cherche minibug c'est cette partie là la plus compliqué
a géré et a mettre au point
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Lun 21 Sep 2015 - 23:28

Et oui je sais pascal !!

C'est aussi la ou j'ai buté durant plusieurs semaines dans mon menu objet de GPP... scratch
Le principe est le même.

Pour résoudre le problème, j'ai mis en place des fichiers de chaque parent ou j'inclus tous les objets qui appartiennent au parent.
Sinon il y a le principe d'un tableau ou tu indiques le numero de l'objet et son parent. et tu testes a chaque fois dans ton tableau ou tu en es ! drunken drunken

Pas simple n'est ce pas ? Exclamation Question What a Face
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mar 22 Sep 2015 - 15:00

Je pense que la solution est dans ces quelques lignes :

Code:
DIM nomme$ , num% , parent% , selection%
LABEL saisie

WIDTH 0,600 : HEIGHT 0,60 : LEFT 0,400 : MAIN_MENU 10 : num%=11
SUB_MENU num% : PARENT num%,10 : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
END

saisie:
  selection%=NUMBER_CLICK : OFF_CLICK selection% : parent%=OBJECT_PARENT(selection%)
  IF message_input("Edit Menu", "Sub_Menu" , "")=1
      nomme$=MESSAGE_TEXT$ : CAPTION selection%,nomme$
      IF OBJECT_TYPE(parent%)=12
        SUB_MENU num% : PARENT num%,10 : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
        SUB_MENU num% : PARENT num%,selection% : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
      END_IF
    IF OBJECT_TYPE(parent%)=13
        SUB_MENU num% : PARENT num%,parent% : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
        SUB_MENU num% : PARENT num%,selection% : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
    END_IF
  END_IF
RETURN
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
pascal10000

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mar 22 Sep 2015 - 15:17

ok je essayer ça
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
pascal10000

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mar 22 Sep 2015 - 15:22

yes bravo minibug la voila la solution
tant convoité
t un bon!!!!

je t'invite si tu veut a te rendre dans webdaw
pour essaye editbas
cela te donnera des idées pour gpp

panoramic@pascal10000
id: panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mar 22 Sep 2015 - 16:12

Je n'ai pas les DLL utils.dll , form.dll ... !! drunken

PS : OK c'est récupéré.

Pas mal l'interface, effectivement.
Je regarde d'un peu plus près tout ca... drunken
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: Un autre editeur particulier   Mar 22 Sep 2015 - 19:48

Bonsoir,

J'émet un bémol au code de Minibug.
Il fonctionne, mais il présente un inconvénient majeur: il y a systématiquement un enfant crée en même temps qu'un SUB_MENU. Ce qui a pour conséquence d'avoir le signe > après le nom du SUB_MENU.
Le menu est sans fin.

Mais la voie est bonne...


PS: on peut aussi faire l'économie de trois variables.
Code:
DIM num%
LABEL saisie

WIDTH 0,600 : HEIGHT 0,60 : LEFT 0,400 : MAIN_MENU 10 : num%=11
SUB_MENU num% : PARENT num%,10 : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
END

saisie:
  OFF_CLICK NUMBER_CLICK : caption 0,str$(OBJECT_PARENT(NUMBER_CLICK))
  IF message_input("Edit Menu", "Sub_Menu" , " ")=1
      CAPTION NUMBER_CLICK,MESSAGE_TEXT$
      IF OBJECT_TYPE(OBJECT_PARENT(NUMBER_CLICK))=12
        SUB_MENU num% : PARENT num%,10 : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
        SUB_MENU num% : PARENT num%,NUMBER_CLICK : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
      END_IF
    IF OBJECT_TYPE(OBJECT_PARENT(NUMBER_CLICK))=13
        SUB_MENU num% : PARENT num%,OBJECT_PARENT(NUMBER_CLICK) : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
        SUB_MENU num% : PARENT num%,NUMBER_CLICK : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
    END_IF
  END_IF
RETURN


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

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mar 22 Sep 2015 - 20:22

jean claude!
effectivement mais tant que on click pas dessus
il n'y a pas de risque!
et un autre aussi renommer son papa mais c mieux que rien


Dernière édition par pascal10000 le Mar 22 Sep 2015 - 20:24, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mar 22 Sep 2015 - 20:23

Bien vu Jean Claude pour les variables ! Wink

Concernant les menus enfants, ils sont nécessaires a la création.
Une fois le menu généré il est facile de supprimer tous les objets du menu qui correspondent a STRING$(10," ") par un DELETE sur ces objets avec un petit test. Et donc là plus de ">" qui restent.  bounce
Cela est juste vrai lors de la création du menu !  cheers

@Pascal : On s'est croisé, LOL !
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: Un autre editeur particulier   Mer 23 Sep 2015 - 8:56

Salut à tous,

Comme solution je propose ça:
Code:
DIM num%,num_main_menu%,n%
LABEL saisie

WIDTH 0,600 : HEIGHT 0,60 : LEFT 0,400 : MAIN_MENU 10 : num_main_menu%=10 : num%=11
SUB_MENU num% : PARENT num%,10 : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
END

saisie:
  OFF_CLICK NUMBER_CLICK : caption 0,str$(OBJECT_PARENT(NUMBER_CLICK))
  IF message_input("Edit Menu", "Sub_Menu" , " ")=1
      CAPTION NUMBER_CLICK,MESSAGE_TEXT$
      IF message_confirmation_yes_no("Voulez-vous continuer votre menu ?")=1
         IF OBJECT_TYPE(OBJECT_PARENT(NUMBER_CLICK))=12
            SUB_MENU num% : PARENT num%,10 : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
            SUB_MENU num% : PARENT num%,NUMBER_CLICK : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
         END_IF
         IF OBJECT_TYPE(OBJECT_PARENT(NUMBER_CLICK))=13
            SUB_MENU num% : PARENT num%,OBJECT_PARENT(NUMBER_CLICK) : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
            SUB_MENU num% : PARENT num%,NUMBER_CLICK : CAPTION num%,STRING$(10," ") : ON_CLICK num%,saisie : num%=num%+1
         END_IF
      ELSE
         FOR n%=num_main_menu%+1 to num%-1
            IF CAPTION$(n%)=STRING$(10," ") THEN DELETE n%
         NEXT n%
      END_IF
  END_IF
RETURN

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

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mer 23 Sep 2015 - 12:53

oui jean claude
c'est une idée mais pas très esthétique la boite de dialogue
cela en fait 2 simultané
je retiens ton idée quand même

y a un hic les enfants peuvent devenir des parents
en faisant un essai deux numéros ce sont croisés
et un sous menu a disparu

j'ai trouver une solution que je tente de mettre au point

toute vos idées seront les bien venu et ont peut invité
ce défi à tout les panoramicien a trouver la solution
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mer 23 Sep 2015 - 12:57

Citation :
y a un hic les enfants peuvent devenir des parents
en faisant un essai deux numéros ce sont croisés
et un sous menu a disparu

Comment cela peut il être possible, puisqu'il y a un numéro d'objet différent pour chaque ? !!! What a Face
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
pascal10000

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mer 23 Sep 2015 - 13:38

bjr minibug

ce fut le menu enfant (deroulant) du 1er item qui a disparu
ben je ne peut pas te l'expliqué j'ai refait d'autre test
et cela ne c'est plus reproduit en essayant de refaire
la même manœuvre
je ne sais pas comment j'ai fait mon compte! alors gros mystère!!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Minibug

avatar

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

MessageSujet: Re: Un autre editeur particulier   Mer 23 Sep 2015 - 14:15

Le NUMBER_CLICK a la place d"une variable est peut-être la source du problème...

Je réfléchis a une autre manière de faire ou l'on crée les objets les uns après les autres sans passer par des sélections multiples et inutiles.

C'est Jean Claude qui va être content !! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Contenu sponsorisé




MessageSujet: Re: Un autre editeur particulier   

Revenir en haut Aller en bas
 
Un autre editeur particulier
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Un autre mystère
» Comment faire un lien vers une autre page du site ?
» mettre à l'heure d'un autre pays
» Comment faire un lien vers un autre site?
» editeur de monde 3d

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: