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 |
---|
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) Dim 13 Sep 2015 - 12:19 | |
| Je viens de prendre ton source du WebDav, et j'ai testé. Je sous sous W10 64 bits, avec PAnoramic V0.9.26, donc dernière version. Constat: 1. le bouton "division" est inactif en lançant dans Panoramic_Editor. 2. insérer une ligne quelconque, même un commentaire, peut débloquer la situation, mais pas toujours. Et l'emplacement de la ligne n'a pas d'importance 3. J'ai modifié la procédure reinit() comme suit, en mettant set_focus en commentaire: - Code:
-
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 4. cela fonctionne maintenant parfaitement à partir de Panoramic_Editor 5. cela fonctionne également avec l'exécutable généré Conclusion:C'est bien le set_focus qui pose problème, et qui est parfaitement inutile à cet endroit. Mais à l'évidence, il y a un bug. EDIT L'arrêt de l'exécutable par la croix rouge généré semble fonctionner, mais laisse le processus en mémoire, visible dans l'onglet "Détails" (liste des processus) du gestionnaire des tâches. Il faut le tuer manuellement... | |
| | | 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) Dim 13 Sep 2015 - 16:42 | |
| Merci à Sylverman, Marc37 et à Klaus pour vos réponses. @Klaus, Le set_focus 0 n'est pas là par hasard. Il permet d'avoir l'afficheur du haut (qui est un LIST) vierge. C'est à dire sans les pointillés. Mais le problème, c'est pas SET_FOCUS. Essai ce changer la SUB reinit, comme ceci: - Code:
-
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
Là au lancement dans l'éditeur, la division ne fonctionne pas. Maintenant ajoute une ligne vide après set_focus 0 Et là ça marche et la transformation en exe aussi. Et à la fermeture par la croix rouge, il n'y a plus de processus en mémoire.J'en conclu qu'il y a un bug dans Panoramic. Je vais voir avec Jack. 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) Dim 13 Sep 2015 - 18:21 | |
| J'ai fait ceci: - 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% then reinit() if number_click=bt_divise% then divise() if number_click=bt_multipli% then multipli() if number_click=bt_moins% then moins() if number_click=bt_virg% then virg() if number_click=bt_PC% then PC() if number_click=bt_plus% then plus() if number_click=bt_egal% then egal() if number_click=bt_0% then bt("0") if number_click=bt_1% then bt("1") if number_click=bt_2% then bt("2") if number_click=bt_3% then bt("3") if number_click=bt_4% then bt("4") if number_click=bt_5% then bt("5") if number_click=bt_6% then bt("6") if number_click=bt_7% then bt("7") if number_click=bt_8% then bt("8") if number_click=bt_9% then bt("9") 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% :' 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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% : 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
Chez moi, ça marche aussi bien sous l'éditeur que sous forme de EXE généré. La différence, c'est que j'ai retiré toutes les commandes "parent no%,0"... | |
| | | 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) Dim 13 Sep 2015 - 20:02 | |
| Oui, j'ai fait le test et le problème a disparu.
Cela reste un mystère car même si c'était inutile de déclarer parent N,0, le code reste valable (je veux dire qu'il n'est pas faux).
Pour moi ce sujet est clos vu que c'est résolu.
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) Dim 13 Sep 2015 - 21:02 | |
| Certes, c'est résolu pour ton programme. Reste qu'il y a bien un big dans Panoramic, dès lors qu'on utilise la commande "parent N,0" sur tous les objets. Certes, la form 0 est le parent par défaut. Mais cela ne devrait rien déranger. Or, ce n'est pas le cas... C'est un cas pour Jack. | |
| | | 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 - 8:39 | |
| @Klaus, Je continu ma recherche ici pour garder le dialogue avec Jack clair ...(sur l'autre post) . Si tu as le temps, essai d'insérer cette ligne au début du label clics (dans le code d'origine) - Code:
-
message "ACTIVE de "+str$(number_click)+" est égale à"+str$(active(number_click)) dis-moi ce que tu en penses. on a un problème d’événement... 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 - 11:18 | |
| Je l'avais déjà fait, cela, pendant mes tests. Constat: les valeurs de number_click sont bonnes, et le problème a disparu. Comme tu dis, c'est une histoire de fou... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 15 Sep 2015 - 11:37 | |
| Dans mes programmes pour éviter ce problème qui m' a rendu dingo une fois ou deux, j' en suis venu à ceci :
déclaration de variables événement : nclic%, ndclic%, nchange%
puis un label pour chacun : Clic,DClic,Change
puis la gestion des click :
CLIC: nclic% = number_click if nclic% = NumObjet% : Procedure() : return : end_if return
de même pour le reste.
Depuis que je procède ainsi je n' ai plus de soucis.
Ps: tu peux te servir de Select...Case...End_select si les objets sont numérotés en dur. | |
| | | 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 - 11:56 | |
| J'ai essayé, Ygeronimi. J'ai déclaré une variable nb_click%, et j'ai modifié la routine ON_CLICK de la manière suivante: - Code:
-
clics: nb_click% = number_click if nb_click%=bt_CE% then reinit() if nb_click%=bt_divise% then divise() if nb_click%=bt_multipli% then multipli() if nb_click%=bt_moins% then moins() if nb_click%=bt_virg% then virg() if nb_click%=bt_PC% then PC() if nb_click%=bt_plus% then plus() if nb_click%=bt_egal% then egal() if nb_click%=bt_0% then bt("0") if nb_click%=bt_1% then bt("1") if nb_click%=bt_2% then bt("2") if nb_click%=bt_3% then bt("3") if nb_click%=bt_4% then bt("4") if nb_click%=bt_5% then bt("5") if nb_click%=bt_6% then bt("6") if nb_click%=bt_7% then bt("7") if nb_click%=bt_8% then bt("8") if nb_click%=bt_9% then bt("9") RETURN Mais le résultat est le même: le bouton "Divise" ne marche pas. Son évènement ON_CLICK ne se déclenche pas, tout simplement, et on n'arrive même pas dans la routine clics. | |
| | | 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 - 12:11 | |
| Ton, astuce, Ygeronimi est intéressante. Mais là, c'est le délire La ligne 111 du code d'origine est un commentaire (' la touche %), il suffit d'enlever % pour que ça marche, mais à la condition qu'il n'y ai pas de ligne vide entre la 127 et la 128. Il semble qu'il y a un problème de lecture du code par Panoramic_Editor. C'est une piste à suivre. A+ | |
| | | 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
| |
| |
| |