Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Une histoire de fou ou j'ai besoin de vacances (résolu) | |
|
+5Cobra papydall RMont Yannick Jean Claude 9 participants | |
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 15 Sep 2015 - 12:27 | |
| @ Klaus,
Ayez pitié, banissez la formule "if...then..." et remplacez là par par " if...end_if"
un début, une fin
avec then, il y a souci 1 coup sur 4 le return avant le end_if permet de sortir sans tester les if suivant celui qui est à prendre en compte et on gagne en rapidité.
@ Jean Claude,
Il y a surement un souci. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 12:43 | |
| @Ygeronimi: Pourquoi me dis-tu - Citation :
- Ayez pitié, banissez la formule "if...then..."
et remplacez là par par " if...end_if" Je n'ai fait que reprendre le code de Jean-Claude, tel qu'il est... Personnellement, j'aurais fait un select...case...end_select. Mais ça a déjà été dit. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 15 Sep 2015 - 12:59 | |
| Je le dis parce que je la vois dans le code, tu n' y es pour rien... Chaque fois que j' ai voulu faire court en utilsant "then" j' ai eu des soucis. Maintenant, elle est bannie chez moi. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 13:16 | |
| @Ygeronimi, tu aurais bien mis le doigt dessus. J'ai remplacé les if/then par if/end_if dans le sous-programme clics. Et là, ça marche normalement (l'exe aussi). - Code:
-
' Calculette_Basique par JC 08/2015 hide 0 application_title "CALCULETTE (Basique)" ' message string$(51," ")+"INFORMATION"+chr$(13)+"Cette calculette est destinée aux enfants. Elle ne fait qu'un calcul à la fois." Retourne_Dimension_Bandeau_Et_Bord() Dim_Label() Objets() show 0 reinit() END rem ============================================================================ clics: if number_click=bt_CE% reinit() end_if if number_click=bt_divise% divise() end_if if number_click=bt_multipli% multipli() end_if if number_click=bt_moins% moins() end_if if number_click=bt_virg% virg() end_if if number_click=bt_PC% PC() end_if if number_click=bt_plus% plus() end_if if number_click=bt_egal% egal() end_if if number_click=bt_0% bt("0") end_if if number_click=bt_1% bt("1") end_if if number_click=bt_2% bt("2") end_if if number_click=bt_3% bt("3") end_if if number_click=bt_4% bt("4") end_if if number_click=bt_5% bt("5") end_if if number_click=bt_6% bt("6") end_if if number_click=bt_7% bt("7") end_if if number_click=bt_8% bt("8") end_if if number_click=bt_9% bt("9") end_if RETURN rem ============================================================================ SUB reinit() tour%=0 : nb=0 : nbP=0 : nombre$="" : lig$="" : op$="" : mode$="" : inactive bt_PC% clear afi_op% : clear afi_result% : inactive bt_egal% : inactive_boutons() : active bt_virg% Ctrl_bouton() : set_focus 0 END_SUB
SUB Ctrl_bouton() if active(bt_egal%)=0 then file_load bt_egal%,"egal_nb.bmp" if active(bt_egal%)=1 then file_load bt_egal%,"egal.bmp" if active(bt_virg%)=0 then file_load bt_virg%,"virgule_nb.bmp" if active(bt_virg%)=1 then file_load bt_virg%,"virgule.bmp" if active(bt_PC%)=0 then file_load bt_PC%,"Pourcentage_nb.bmp" if active(bt_PC%)=1 then file_load bt_PC%,"Pourcentage.bmp" if active(bt_plus%)=0 then file_load bt_plus%,"plus_nb.bmp" if active(bt_plus%)=1 then file_load bt_plus%,"plus.bmp" if active(bt_moins%)=0 then file_load bt_moins%,"moins_nb.bmp" if active(bt_moins%)=1 then file_load bt_moins%,"moins.bmp" if active(bt_multipli%)=0 then file_load bt_multipli%,"multiplication_nb.bmp" if active(bt_multipli%)=1 then file_load bt_multipli%,"multiplication.bmp" if active(bt_divise%)=0 then file_load bt_divise%,"division_nb.bmp" if active(bt_divise%)=1 then file_load bt_divise%,"division.bmp" END_SUB
' les 4 opérations SUB divise() tour%=0 : active bt_virg% inactive_boutons() : op$="/" : clear afi_result% : lig$=lig$+" : " : affiche_lig() if mode$="" then nb=val(nombre$) : mode$="C" : nbP=nb : nb=0 : nombre$="" END_SUB SUB multipli() tour%=0 : active bt_virg% : active bt_PC% inactive_boutons() : op$="*" : clear afi_result% : lig$=lig$+" x " : affiche_lig() if mode$="" then nb=val(nombre$) : mode$="C" : nbP=nb : nb=0 : nombre$="" END_SUB SUB plus() tour%=0 : active bt_virg% : active bt_PC% inactive_boutons() : op$="+" : clear afi_result% : lig$=lig$+" + " : affiche_lig() if mode$="" then nb=val(nombre$) : mode$="C" : nbP=nb : nb=0 : nombre$="" END_SUB SUB moins() tour%=0 : active bt_virg% : active bt_PC% inactive_boutons() : op$="-" : clear afi_result% : lig$=lig$+" - " : affiche_lig() if mode$="" then nb=val(nombre$) : mode$="C" : nbP=nb : nb=0 : nombre$="" END_SUB ' résultat SUB egal() if numeric(nombre$)=1 nb=val(nombre$) else if right$(nombre$,1)="%" and op$="*" nombre$=left$(nombre$,len(nombre$)-1) : nb=val(nombre$) : op$="%*" end_if if right$(nombre$,1)="%" and op$="+" nombre$=left$(nombre$,len(nombre$)-1) : nb=val(nombre$) : op$="%+" end_if if right$(nombre$,1)="%" and op$="-" nombre$=left$(nombre$,len(nombre$)-1) : nb=val(nombre$) : op$="%-" end_if end_if inactive bt_egal% : tour%=0 : active bt_virg% if op$="%*" then nbP=(nbP*nb)/100 if op$="%+" then nbP=nbP+((nbP*nb)/100) if op$="%-" then nbP=nbP-((nbP*nb)/100) if op$="+" then nbP=nbP+nb if op$="-" then nbP=nbP-nb if op$="*" then nbP=nbP*nb if op$="/" if nb<>0 nbP=nbP/nb else message "La division par zéro n'existe pas" : reinit() : EXIT_SUB end_if end_if clear afi_result% : lig$=lig$+" = "+str$(nbP) : affiche_lig() nb=0 : nombre$="" : mode$="F" : clear afi_result% : item_add afi_result%,str$(nbP) Ctrl_bouton() END_SUB ' la touche % SUB PC() inactive bt_PC% Ctrl_Mode() : nombre$=nombre$+"%" : affiche() : lig$=lig$+"%" : affiche_lig() Ctrl_bouton() END_SUB ' la virgule SUB virg() inactive bt_virg% : Ctrl_bouton() if tour%=0 or mode$="F" then nombre$="0" : lig$=lig$+"0" nombre$=nombre$+"." : affiche() : lig$=lig$+"," : affiche_lig() if mode$="F" then inactive bt_egal% : mode$="" : lig$="0," : nbP=0 : affiche_lig() END_SUB ' les chiffres SUB bt(n$) Ctrl_Mode() : nombre$=nombre$+n$ : lig$=lig$+n$ : n$="" : affiche() : affiche_lig() END_SUB SUB Ctrl_Mode() Ctrl_bouton() if mode$="F" then inactive bt_egal% : mode$="" : lig$="" : nbP=0 : affiche_lig() if mode$="C" then active bt_egal% : inactive_boutons() if mode$="" then active_boutons() tour%=tour%+1 END_SUB ' l'affichage SUB affiche() if len(nombre$)>14 then message " 14 chiffres maximum ! " : reinit() : Exit_Sub clear afi_result% : item_add afi_result%,nombre$ END_SUB SUB affiche_lig() clear afi_op% if len(lig$)>26 then Exit_Sub item_add afi_op%,lig$ END_SUB ' contrôle des boutons SUB inactive_boutons() inactive bt_divise% : inactive bt_multipli% : inactive bt_moins% : inactive bt_plus% Ctrl_bouton() END_SUB SUB active_boutons() active bt_divise% : active bt_multipli% : active bt_moins% : active bt_plus% Ctrl_bouton() END_SUB rem ============================================================================ SUB Dim_Label() dim no%,tour% dim nb,nbP dim virgul$,nombre$,lig$,op$,mode$ virgul$="." dim afi_result%,afi_op% dim bt_CE%,bt_divise%,bt_multipli%,bt_moins%,bt_virg%,bt_PC%,bt_plus%,bt_egal% dim bt_0%,bt_1%,bt_2%,bt_3%,bt_4%,bt_5%,bt_6%,bt_7%,bt_8%,bt_9% label fin,clics END_SUB ' ------------------------------------------------------------------------------ SUB Objets() ' Form 0 border_small 0 : caption 0,"CALCULETTE (Basique)" : width 0,400 height 0,302 : width 0,187 : top 0,(screen_y/2)-(height(0)/2) : left 0,(screen_x/2)-(width(0)/2) color 0,150,240,255 ' Afficheurs no%=no%+1 : afi_op%=no% : list no% : parent no%,0 :' font_bold no% width no%,width(0)-(bord%*2)-8 : left no%,4 : height no%,20 : top no%,5 no%=no%+1 : afi_result%=no% : list no% : parent no%,0 : color no%, 255,255,0 font_color no%,0,100,255 font_bold no% : font_size no%,14 width no%,width(0)-(bord%*2)-8 : left no%,4 : height no%,30 : top no%,top(afi_op%)+height(afi_op%)+2 ' les boutons ' la première rangée no%=no%+1 : bt_CE%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"clear.bmp" top no%,top(afi_result%)+height(afi_result%)+2 : left no%,left(afi_result%) on_click no%,clics no%=no%+1 : bt_divise%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"division.bmp" top no%,top(afi_result%)+height(afi_result%)+2 : left no%,left(bt_CE%)+width(bt_CE%)+1 on_click no%,clics no%=no%+1 : bt_multipli%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"multiplication.bmp" top no%,top(afi_result%)+height(afi_result%)+2 : left no%,left(bt_divise%)+width(bt_divise%)+1 on_click no%,clics no%=no%+1 : bt_moins%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"moins.bmp" top no%,top(afi_result%)+height(afi_result%)+2 : left no%,left(bt_multipli%)+width(bt_multipli%)+1 on_click no%,clics ' la deuxième rangée no%=no%+1 : bt_7%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"7.bmp" top no%,top(afi_result%)+height(afi_result%)+height(bt_CE%)+2 : left no%,left(bt_CE%) on_click no%,clics no%=no%+1 : bt_8%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"8.bmp" top no%,top(afi_result%)+height(afi_result%)+height(bt_CE%)+2 : left no%,left(bt_7%)+width(bt_7%)+1 on_click no%,clics no%=no%+1 : bt_9%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"9.bmp" top no%,top(afi_result%)+height(afi_result%)+height(bt_CE%)+2 : left no%,left(bt_8%)+width(bt_8%)+1 on_click no%,clics ' la troisième rangée no%=no%+1 : bt_4%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"4.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*2)+2 : left no%,left(bt_7%) on_click no%,clics no%=no%+1 : bt_5%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"5.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*2)+2 : left no%,left(bt_8%) on_click no%,clics no%=no%+1 : bt_6%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"6.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*2)+2 : left no%,left(bt_9%) on_click no%,clics ' quatrième rangée no%=no%+1 : bt_1%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"1.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*3)+2 : left no%,left(bt_4%) on_click no%,clics no%=no%+1 : bt_2%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"2.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*3)+2 : left no%,left(bt_5%) on_click no%,clics no%=no%+1 : bt_3%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"3.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*3)+2 : left no%,left(bt_6%) on_click no%,clics ' cinquième rangée no%=no%+1 : bt_0%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"0.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*4)+2 : left no%,left(bt_1%) on_click no%,clics no%=no%+1 : bt_PC%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"Pourcentage.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*4)+2 : left no%,left(bt_2%) on_click no%,clics no%=no%+1 : bt_virg%=no% : picture no% : parent no%,0 : width no%,40 : height no%,40 : file_load no%,"virgule.bmp" top no%,top(afi_result%)+height(afi_result%)+(height(bt_CE%)*4)+2 : left no%,left(bt_3%) on_click no%,clics ' Bouton + no%=no%+1 : bt_plus%=no% : picture no% : parent no%,0 : width no%,40 : height no%,80 : file_load no%,"plus.bmp" top no%,top(afi_result%)+height(afi_result%)+height(bt_moins%)+2 : left no%,left(bt_multipli%)+width(bt_multipli%)+1 on_click no%,clics ' Bouton = no%=no%+1 : bt_egal%=no% : picture no% : parent no%,0 : width no%,40 : height no%,80 : file_load no%,"egal.bmp" top no%,top(bt_3%) : left no%,left(bt_plus%) on_click no%,clics END_SUB rem ============================================================================ SUB Retourne_Dimension_Bandeau_Et_Bord() ' controle de la position de la procédure dans le programme IF NUMBER_OBJECTS>0 message "La SUB 'Retourne_Dimension_Bandeau_Et_Bord' doit être placée avant la création du premier objet !" terminate END_IF ' création des VARIABLES GLOBALES IF VARIABLE("bandeau%")=0 then DIM bandeau% IF VARIABLE("bord%")=0 then DIM bord% ' Calcul de bandeau% et bord% dim_local w0%,h0%,w1%,h1%,w2%,h2% w0%=WIDTH(0) : h0%=HEIGHT(0) picture 1 : full_space 1 : w1%=WIDTH(1) : h1%=HEIGHT(1) w2%=w0%-w1% : h2%=h0%-h1% : bandeau%=h2%-(w2%/2) : bord%=w2%/2 ' Suppression du Picture devenu inutile delete 1 END_SUB rem ============================================================================ fin: terminate RETURN
J'ai procédé avec if/then (dans mon code d'origine) car dans la configuration du code, une seule des lignes du sous programme "clics" correspond à la condition if, vu que c'est le dernier clic qui est retenu pour vérifier la condition. De plus le sous_programme est bien fermé par return. Conclusion: il pourrait y avoir un bug avec if/then. @Klaus, Je n'ai pas retenu select/case pour la simple raison que j'utilise la numérotation d'objet par variable. dans ce cas if/ then est plus pratique car j'utilise le numéro d'objet par son "nom" défini par la variable. Pour moi, je considère avoir écris mon code correctement et à ma convenance, il y a un bug, Panoramic, quelque-part... A+ PS:
- Ygeronimi a écrit:
- Chaque fois que j' ai voulu faire court en utilsant "then" j' ai eu des soucis.
Maintenant, elle est bannie chez moi.
Cette déclaration me fait monter dans les tours. Tu aurais, peut-être, été plus utile en signalant le problème quand tu l'as découvert. Mais , bon, on est tous pareil.... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 15 Sep 2015 - 13:57 | |
| A mon avis, le problème vient de la succession de "if...then" - si tu ecris : clic: if x%=1 then ........returnPas de souci - si tu ecris : Clic: if x%=1 then ....... if x%=2 then ........returnlà tu vas en avoir un car le premier if n' est pas cloturé. c' est presque comme s tu avais écris : Clic: if x%=1 then ....... if x%=2 then ......returnJ' en rajoute, le return juste avant le end_if peut être utile pour gagner de la vitesse mais aussi si la variable de comparaison est modifié par le premier if adequat qu' elle rencontre.@ Jean Claude,Ce n' est une histoire de fou mais bien une histoire Panoramicien...
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 14:21 | |
| Ca n'en serait pas moins un bug puisque cette écriture n'est pas censé poser problème... sinon il ne faudrait plus l'avoir dans les tutoriaux...
Reste à voir si le problème n'est pas dans cette structure après l'appel d'un sous programme suivi d'une commande. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 15:40 | |
| @Ygeronimi, tu dis: Clic: if x%=1 then ....... if x%=2 then ........ returnserait comme: Clic: if x%=1 then ....... if x%=2 then ...... return
Si c'est la raison, alors c'est un BUG. Une histoire de fous ou de panoramiciens: C'est pareil ! A+ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 15:44 | |
| Désolé, ceci marche pourtant parfaitement: - Code:
-
label clic dim x% button 1 : top 1,10 : left 1,10 : caption 1,"test 1" : on_click 1,clic button 2 : top 2,10 : left 2,110 : caption 2,"test 2" : on_click 2,clic
end
Clic: x% = number_click if x%=1 then message "bouton 1" if x%=2 then message "bouton 2" return
Le problème est plus complexe que ça. Le fait que l'erreur disparaît si l'on supprime toutes les commandes "parent no%,0" lors des créations d'objets, montre clairement que le problème n'est en aucun cas lié à la structure des IF...THEN. D'ailleurs, l'évènement on_click du bouton "divise" ne se déclenche même pas, et in ne rentre donc même pas dans la routine clic. Peu importe la façon dont les IF sont construits, puisqu'on n'y va pas. C'est lié à la prise en compte des "parent no%,0" qui sèment la pagaille. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 15:58 | |
| Je pense comme Klaus, le problème est lié au géniteur zéro, pardon au PARENT no%,0 ! Bon, une histoire de fous ou de Panoramiciens. Qu’importe le flacon (la strucure) pourvu qu’on ait l’ivresse (le bug). | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 17:16 | |
| Je pense que c'est encore plus complexe que ça. Cela doit venir d'un problème de contexte, particulier au programme de la calculette. En effet, j'ai fait un programme de test, avec un objet edit et 100 boutons, tous avec "parent no%,0". Tous avec la même routine on_click, et cette routine contient une terrible sequence de IF...THEN. Et tout marche parfaitement: les clics se déclenchent bien, et aucun problème sur les IF...THEN. Voici le test: - Code:
-
label clic dim x%, i%, j%, no%
edit 150 : top 150,10 : left 150,1100 full_space 0 for i%=1 to 10 for j%=1 to 10 no% = no% + 1 button no% parent no%,0 top no%, (i%-1)*30 + 10 left no%,(j%-1)*100 + 10 caption no%,"test "+str$(no%) on_click no%,clic next j% next i% end
Clic: x% = number_click if x%=1 then info(x%) if x%=2 then info(x%) if x%=3 then info(x%) if x%=4 then info(x%) if x%=5 then info(x%) if x%=6 then info(x%) if x%=7 then info(x%) if x%=8 then info(x%) if x%=9 then info(x%) if x%=10 then info(x%) if x%=11 then info(x%) if x%=12 then info(x%) if x%=13 then info(x%) if x%=14 then info(x%) if x%=15 then info(x%) if x%=16 then info(x%) if x%=17 then info(x%) if x%=18 then info(x%) if x%=19 then info(x%) if x%=20 then info(x%) if x%=21 then info(x%) if x%=22 then info(x%) if x%=23 then info(x%) if x%=24 then info(x%) if x%=25 then info(x%) if x%=26 then info(x%) if x%=27 then info(x%) if x%=28 then info(x%) if x%=29 then info(x%) if x%=30 then info(x%) if x%=31 then info(x%) if x%=32 then info(x%) if x%=33 then info(x%) if x%=34 then info(x%) if x%=35 then info(x%) if x%=36 then info(x%) if x%=37 then info(x%) if x%=38 then info(x%) if x%=39 then info(x%) if x%=40 then info(x%) if x%=41 then info(x%) if x%=42 then info(x%) if x%=43 then info(x%) if x%=44 then info(x%) if x%=45 then info(x%) if x%=46 then info(x%) if x%=47 then info(x%) if x%=48 then info(x%) if x%=49 then info(x%) if x%=50 then info(x%) if x%=51 then info(x%) if x%=52 then info(x%) if x%=53 then info(x%) if x%=54 then info(x%) if x%=55 then info(x%) if x%=56 then info(x%) if x%=57 then info(x%) if x%=58 then info(x%) if x%=59 then info(x%) if x%=60 then info(x%) if x%=61 then info(x%) if x%=62 then info(x%) if x%=63 then info(x%) if x%=64 then info(x%) if x%=65 then info(x%) if x%=66 then info(x%) if x%=67 then info(x%) if x%=68 then info(x%) if x%=69 then info(x%) if x%=70 then info(x%) if x%=71 then info(x%) if x%=72 then info(x%) if x%=73 then info(x%) if x%=74 then info(x%) if x%=75 then info(x%) if x%=76 then info(x%) if x%=77 then info(x%) if x%=78 then info(x%) if x%=79 then info(x%) if x%=80 then info(x%) if x%=81 then info(x%) if x%=82 then info(x%) if x%=83 then info(x%) if x%=84 then info(x%) if x%=85 then info(x%) if x%=86 then info(x%) if x%=87 then info(x%) if x%=88 then info(x%) if x%=89 then info(x%) if x%=90 then info(x%) if x%=91 then info(x%) if x%=92 then info(x%) if x%=93 then info(x%) if x%=94 then info(x%) if x%=95 then info(x%) if x%=96 then info(x%) if x%=97 then info(x%) if x%=98 then info(x%) if x%=99 then info(x%) if x%=100 then info(x%)
return
sub info(n%) text 150, "bouton "+str$(n%) end_sub
Je pense que là, je reproduis au plus près la structure du programme de la calculette, dans les images, cependant. Et avec des picture à la place des boutons, c'est pareil: ça marche: - Code:
-
label clic dim x%, i%, j%, no%
edit 150 : top 150,10 : left 150,1100 full_space 0 for i%=1 to 10 for j%=1 to 10 no% = no% + 1 ' button no% picture no% : height no%,25 : width no%,90 color no%,255,0,0 parent no%,0 top no%, (i%-1)*30 + 10 left no%,(j%-1)*100 + 10 ' caption no%,"test "+str$(no%) print_target_is no% print "test "+str$(no%) on_click no%,clic next j% next i% end
Clic: x% = number_click if x%=1 then info(x%) if x%=2 then info(x%) if x%=3 then info(x%) if x%=4 then info(x%) if x%=5 then info(x%) if x%=6 then info(x%) if x%=7 then info(x%) if x%=8 then info(x%) if x%=9 then info(x%) if x%=10 then info(x%) if x%=11 then info(x%) if x%=12 then info(x%) if x%=13 then info(x%) if x%=14 then info(x%) if x%=15 then info(x%) if x%=16 then info(x%) if x%=17 then info(x%) if x%=18 then info(x%) if x%=19 then info(x%) if x%=20 then info(x%) if x%=21 then info(x%) if x%=22 then info(x%) if x%=23 then info(x%) if x%=24 then info(x%) if x%=25 then info(x%) if x%=26 then info(x%) if x%=27 then info(x%) if x%=28 then info(x%) if x%=29 then info(x%) if x%=30 then info(x%) if x%=31 then info(x%) if x%=32 then info(x%) if x%=33 then info(x%) if x%=34 then info(x%) if x%=35 then info(x%) if x%=36 then info(x%) if x%=37 then info(x%) if x%=38 then info(x%) if x%=39 then info(x%) if x%=40 then info(x%) if x%=41 then info(x%) if x%=42 then info(x%) if x%=43 then info(x%) if x%=44 then info(x%) if x%=45 then info(x%) if x%=46 then info(x%) if x%=47 then info(x%) if x%=48 then info(x%) if x%=49 then info(x%) if x%=50 then info(x%) if x%=51 then info(x%) if x%=52 then info(x%) if x%=53 then info(x%) if x%=54 then info(x%) if x%=55 then info(x%) if x%=56 then info(x%) if x%=57 then info(x%) if x%=58 then info(x%) if x%=59 then info(x%) if x%=60 then info(x%) if x%=61 then info(x%) if x%=62 then info(x%) if x%=63 then info(x%) if x%=64 then info(x%) if x%=65 then info(x%) if x%=66 then info(x%) if x%=67 then info(x%) if x%=68 then info(x%) if x%=69 then info(x%) if x%=70 then info(x%) if x%=71 then info(x%) if x%=72 then info(x%) if x%=73 then info(x%) if x%=74 then info(x%) if x%=75 then info(x%) if x%=76 then info(x%) if x%=77 then info(x%) if x%=78 then info(x%) if x%=79 then info(x%) if x%=80 then info(x%) if x%=81 then info(x%) if x%=82 then info(x%) if x%=83 then info(x%) if x%=84 then info(x%) if x%=85 then info(x%) if x%=86 then info(x%) if x%=87 then info(x%) if x%=88 then info(x%) if x%=89 then info(x%) if x%=90 then info(x%) if x%=91 then info(x%) if x%=92 then info(x%) if x%=93 then info(x%) if x%=94 then info(x%) if x%=95 then info(x%) if x%=96 then info(x%) if x%=97 then info(x%) if x%=98 then info(x%) if x%=99 then info(x%) if x%=100 then info(x%)
return
sub info(n%) text 150, "bouton "+str$(n%) end_sub
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) Mar 15 Sep 2015 - 18:01 | |
| J' arrête les recherches car Jack a constaté le BUG, il lui reste plus qu'a le trouver et le tuer.
A+ | |
| | | Contenu sponsorisé
| Sujet: Re: Une histoire de fou ou j'ai besoin de vacances (résolu) | |
| |
| | | | Une histoire de fou ou j'ai besoin de vacances (résolu) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |