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 |
|
|
| Problème avec MARK_OFF | |
| | |
Auteur | Message |
---|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Problème avec MARK_OFF Dim 6 Déc 2009 - 20:32 | |
| Voici le code qui pose problème, Le sujet c'est pourquoi le LABEL "efface" ou "recommence" ne s'exécute pas en un seul click. vous cliquez sur les 2 CHECK et essayez de sortir par recommence ou efface.Ensuite, il faut essayer le code avec un REM au LABEL efface, devant les 2 MARK_OFF . - Code:
-
label quit,efface,choi1,choi2,recommence,demar dim a$,n
list 1:top 1,10:left 1,10:hide 1
list 2:top 2,150:left 2,100:hide 2
button 3:top 3,300:left 3,10:caption 3,"QUITTER":hide 3
button 4:top 4,300:left 4,100:caption 4,"Efface":hide 4
button 5:top 5,300:left 5,200:caption 5,"Recommence":hide 5
check 6:top 6,10:left 6,200:caption 6,"choix 1":hide 6 check 7:top 7,30:left 7,200:caption 7,"choix 2":hide 7
gosub demar end ' ================================================ demar: for n=1 to 7:show n:next n on_click 3,quit on_click 4,efface on_click 5,recommence on_click 6,choi1 on_click 7,choi2 return
choi1: if checked(6)=1 then a$=a$+"1/":item_add 1,a$ return
choi2: if checked(7)=1 then a$=a$+"2/":item_add 2,a$ return
recommence: gosub efface goto demar return
efface: mark_off 6:mark_off 7: ' mettre un rem ici pour le 2ème essai clear 1:clear 2:a$="" for n=1 to 7:hide n:next n return
quit: terminate
A+
Dernière édition par Jean Claude le Dim 6 Déc 2009 - 20:57, édité 4 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Dim 6 Déc 2009 - 20:41 | |
| JJN4, je te répond ici, ce code te semble bisard et c'est normal, il n'a qu'un seul but c'est le comportement de MARK_OFF. Ici il n'y a qu'un seul FORM, c'est pourquoi tu ne piges pas, dans le programme que je fais il y a une bonne dizaine de Faux Form que je dois réinitialisés (en cas de fermeture) si l'utilisteur doit y revenir. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Encore plus bizarre ! Dim 6 Déc 2009 - 23:56 | |
| Si tu rajoute un beep comme suit : - Code:
-
efface: mark_off 6:mark_off 7 clear 1:clear 2:a$="" beep for n=1 to 7:hide n:next n return ce qui apparaît, c'est que ça ne fait beep qu'au 3° passage, donc on dirait qu'il fait automatiquement return juste après chaque mark_off et n'exécute pas le reste. Effectivement, c'est un bug ! | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 14:39 | |
| Ou là là !!!Après étude de ce source, voici ce qui se passe. 1 - on coche les 2 CHECKs (objets 6 et 7) 2 - quand on clique sur le bouton 4 (Efface), on décoche le CHECK 6 par un MARK_OFF 6 MAIS, cette action sur le CHECK 6 correspond à un CLICK 3 - le traitement d'événement CLICK sur l'objet 6 s'exécute donc (choi1:) 4 - le programme rencontre RETURN 5 - tout s'arrête... car un RETURN a été rencontré Là encore (on en avait déjà parlé sur ce forum), un traitement d'événement déclenche un nouvel événement. Or, comme PANORAMIC est fait, il ne traite pas 2 événements en cascade.Après réflexion, je pense qu'il s'agit réellement d'un bug, mais cette fois, la correction va prendre un certain temps car c'est un bug dans le design même de PANORAMIC. Voici un source qui résume le problème, avec des PRINT pour bien tracer ce qui se passe. - on coche 6 - on coche 7 - on clique plusieurs fois sur Efface -> on voit que un MARK_OFF provoque l'événement CLICK sur le CHECK correspondant, et là, je ne peux rien faire car c'est Windows qui déclencjhe cet événement dès qu'on touche à un CHECK pour le cocher ou le décocher. -> on voit que le traitement des événements s'arrête au PREMIER return rencontré, et là, c'est à moi de jouer... - Code:
-
label efface,choi1,choi2
button 4:top 4,300:left 4,100:caption 4,"Efface" check 6:top 6,10:left 6,200:caption 6,"choix 1" check 7:top 7,30:left 7,200:caption 7,"choix 2"
on_click 4,efface on_click 6,choi1 on_click 7,choi2
end
' ================================================
choi1: print "choi1: 6 est cliqué" return
choi2: print "choi2: 7 est cliqué" return
efface: mark_off 6 print "efface: 6 est décoché" mark_off 7 print "efface: 7 est décoché" return
Dernière édition par Jack le Lun 7 Déc 2009 - 18:39, édité 1 fois | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 15:08 | |
| Je comprends mieux maintenant pourquoi j'ai des problèmes. Il y a un moment que j'ai constaté ceci, et il y bien des codages que j'ai du reprendre à cause de cela. Comme il était difficile de monter des sources qui étaient ébauchés de partout je ne pouvais pas en parler, et dire des choses sans montrer d'exemple. J'ai refais le programme avec les onglets, et j'ai passé une semaine à essayer de le faire fonctionner, et finalement faire des compromis. J'étais en train de réfléchir pour faire un programme teste, et voir jusqu'où on pouvait aller, et là merci, je sais que le problème est pris en compte. Je suis en train de réfléchir pour refaire du codage à l'ancienne, lorsque les événements, je ne les connaissais pas, et je pense que j'ai du travail maintenant. Mes programmes demandes généralement beaucoup d'objets pour ce que j'ai besoin, mais maintenant je sais où je vais. Je perdrais moins de temps à créer des événement avec par exemple la position de la souris par rapport à une image qui montrait un ensemble de boutons. Le principal est de connaitre les possibilités d'un langage au départ, pour savoir où l'on va. Merci pour cet info. Désolé si je ne suis pas parfois facile, il faut croire qu'il est nécessaire pour moi de le dire, avant de revenir dessus. @+ |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 15:49 | |
| Bon courage Jack,
en attendant je laisse les CHECK et OPTION en standby.
Salut à Comos70. | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 16:06 | |
| Salut Jean Claude. ça concerne aussi position sur les curseurs. Sur mon dernier programme, j'ai incorporé une "boite de propriété" que j'avais fait 1 ou 2 mois plus tôt, pour un programme que j'ai perdu depuis en enregistrant cette même boite, et je l'ai depuis simplifié. Il y avait par exemple un OBTION normal qui avait pour but de mettre à OFF les autres obtions comme gras italic etc... et il était impossible en appuyant sur normal, d'annuler tous les autres, seulement un ou deux fonctionnaient. Les curseurs, si j'essaye de mettre par POSITION à jour par rapport à la valeur, selon l'emplacement de ceux-ci, soit j'affiche ceux-ci et le reste du programme est ignoré jusqu'au RETURN, soit je mets le texte avant, et c'est POSITION qui est ignoré, et une partie du codage j'ai eu ce genre de problème, et j'ai pensé baisser les bras pendant un moment. C'est plus simple lorsqu'on connait le problème avant. @+ |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 17:24 | |
| Maintenant je comprends pourquoi, je n'arrivais pas à gérer la POSITION du curseur, j'ai eu tord cette fois-là de ne pas avoir émit le problème sur le site.
le plus important c'est que Jack à trouvé ce qui cloche, si j'ai bien compris ce qu'il dit: - PANORAMIC ne peut pas traiter plusieurs évenements (donc commandes..) situés entre un LABEL et un RETURN.
En attendant, je ne suis pas bloqué, j'ai un dessin à fabriquer, pour mon programme, je vais aller explorer les commandes 2D...
A+ | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 18:48 | |
| Encore une fois, merci à tous d'avoir mis le doigt sur une grosse lacune de PANORAMIC: l'incapacité à traiter plusieurs événements en cascade, je veux dire l'impossibilité de prendre en compte et de traiter un événement pendant le traitement d'un autre événement.
Ne "poubélisez" pas les sources qui vous posent problème car il fonctionneront bientôt. Je me mets dès maintenant sur ce problème, j'en fais ma priorité et sa résolution donnera en fait à PANORAMIC des possibilités de traitement multi-tâches, où tous les traitements d'événement s'effectueront simultanément. Ce sera une avancée majeure. | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 18:57 | |
| Grand merci. J'ai longtemps hésité de parler de ce problème, pour ne pas surcharger ton travail, et je ne savais pas au fait comment l'expliquer. Les heures que j'ai cherché à trouver des solutions, sans savoir pourquoi, m'étant en cause mon codage. Maintenant tout est clair, et merci pour la volonté de mettre au point Panoramic. Je me souviens d'avoir dit qu'il fallait inactiver tout une série d'objets pour éviter les erreurs, peut-être est-ce le même problème. @+ |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Lun 7 Déc 2009 - 19:44 | |
| Pas de problème, il n'est pas question, pour moi, de mettre à la poubelle des heures et des heures de tavail. Cela ne remet pas en cause ce que j'ai fabriqué jusqu'a maintenant. Je suis "content" d'avoir mis le doigt sur un problème majeur, il vaut mieux tard que jamais et surtout ne jamais douter.
Bon, hé bien, on va te laissé bosser, car j'ai l'impression d'avoir débusqué un gros lièvre qui va te demander beaucoup de travail.
Fin provisoire de l'épisode.
A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Lun 14 Déc 2009 - 19:57 | |
| | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 17:47 | |
| Eh bien, je suis en train de coder un système de file d'attente pour les événements.
Voici le principe: si un ou des événements arrivent pendant le traitement d'un événement, ils sont mémorisés puis sont traités dans leur ordre d'arrivée. L'algorithme fonctionne sur le papier, mais le codage n'est pas terminé. Ensuite il faut créer des sources de test pour tous les cas possibles et les essayer avant de valider ce système.
Entre temps, pour me "distraire", j'ai codé 3 fonctions donnant les composantes rouge, vert, bleu d'un pixel de coordonnées (X,Y) d'un FORM ou d'un PICTURE V=COLOR_PIXEL_RED(N,X,Y) V=COLOR_PIXEL_GREEN(N,X,Y) V=COLOR_PIXEL_BLUE(N,X,Y)
Ces 3 fonctions sont codées et testées. Elles feront partie de la prochaine version "instantanée".
Sinon, je me fait rare sur le forum ces jours-ci car je suis à nouveau en déplacement professionnel. | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 18:23 | |
| Ce que tu fais là est très bien.Par contre je viens de faire un programme que je publierais pour Noël, et dans celui-ci j'ai du remplir des formes qui a nécessité beaucoup de codage pour arriver à remplir l'espace avec une couleur. remplir un rectangle c'est pas dur, mais remplir une forme quelconque, il faut en faire des rectangle et combler avec des lignes. Ne pourrais-tu pas faire une commande normalement FILL (2d_FILL_ remplissage) le nom que tu voudrais donné, je ne le connais pas) qui fasse ce travail. Une seul ligne suffirait pour le faire, alors que là, on en finit pas. Merci, mais bon travail. @+ |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 18:35 | |
| C'est vrai que ce serait bien de pouvoir remplir une forme quelconque avec une couleur donnée, en donnant la couleur du contour, et à condition que la forme soit bien refermée.
Mais déjà pouvoir récupérer la couleur d'un pixel, on fait un pas en avant. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 18:51 | |
| Merci à Jack, pour les infos.
Pour l'instruction FILL, je ne comprends pas bien, est-ce que 2D_FILL_COLOR n'est pas censée faire ce travail.
A+ | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 19:32 | |
| Non Jean-Claude, 2d_fill_color donne la couleur pour remplir un rectangle, un cercle... mais ne fait rien d'autre. Tu donnes la couleur à la ligne de rectangle par exemple, tu donnes la couleur du fond, et avec par exemple rectangle, avec 2d_rectangle x1,y1,x2,y2, tu dessines ton rectangle avec les couleurs choisis. @+ |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 20:06 | |
| à Cosmos70, - Citation :
Non Jean-Claude, 2d_fill_color donne la couleur pour remplir un rectangle, un cercle... mais ne fait rien d'autre
Je ne suis pas sûr d'avoir compris. il me semble que tu dis que 2d_FILL_COLOR sert pour des rectangles ou des cercles uniquement. Je n'ai pas expérimenté, donc je ne met pas en doute. Quand tu parles d'une forme quelquonque, tu parles de quoi ? - Citation :
- remplir une forme quelconque avec une couleur donnée, en donnant la couleur du contour,
Pour la couleur du contour, c'est intéressant et là je comprends. Je suis curieux, il va falloir que je regarde cette histoire de remplissage de près. Merci et A+ | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 20:19 | |
| Pour répondre à cosmos70 qui demande comment remplir un form avec une couleur donné, on peut faire cela facilement en 3 instructions. On remplit FORM0 avec la couleur donnée par les 3 composantes primaires R,G,B en traçant un rectangle: 1 - dont la couleur du contour ( 2D_PEN_COLOR) et la couleur intérieure ( 2D_FILL_COLOR) sont les mêmes, 2 - du point en haut à gauche de coordonnées ( 0 , 0) jusqu'au point en bas à droite, de coordonnées ( WIDTH(0) , HEIGHT(0) ): 2D_PEN_COLOR R,G,B 2D_FILL_COLOR R,G,B 2D_RECTANGLE 0,0,WIDTH(0),HEIGHT(0) L'exemple ci dessous remplit FORM0 en rouge: - Code:
-
dim r,g,b r=200 g=50 b=50 2d_pen_color r,g,b 2d_fill_color r,g,b 2d_rectangle 0,0,width(0),height(0)
Dernière édition par Jack le Mer 16 Déc 2009 - 20:23, édité 2 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 20:21 | |
| Je réponds pour cosmos, une forme quelconque c'est une forme qui n'est pas déjà définie, autrement dit autre chose qu'un cercle et un rectangle. C'est à dire une forme que tu dessines toi-même avec des lignes 2D_LINE ou 2D_FROM et 2D_TO, un polygone fermé quelconque.
Je me suis croisé avec Jack, mais on parle ici de formes quelconques, autres que cercle et rectangle. Par exemple je dessine une étoile de Noël, je ne peux pas colorer l'intérieur. | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Mer 16 Déc 2009 - 22:09 | |
| Merci d'avoir répondu pour moi, je viens seulement de voir le message. C'est exactement ça, au moins toi on te comprends |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec MARK_OFF Jeu 17 Déc 2009 - 9:08 | |
| Donc Jack a comme moi confondu FORM et FORME. Maintenant je suis d'accord. Par contre, on peut colorer FORM sans faire de rectangle. - Code:
-
dim r,g,b r=200 g=50 b=50 color 0,r,g,b
A+ | |
| | | Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Jeu 17 Déc 2009 - 12:52 | |
| salut à tous moi aussi je colore un form comme ça - Code:
-
caption 0,"Coloration totale du form" color 0,200,50,50
@+ | |
| | | Invité Invité
| Sujet: Re: Problème avec MARK_OFF Jeu 17 Déc 2009 - 14:08 | |
| Pourquoi colorer FORM avec un rectangle? 2d_rectangle est une instruction 2d qui va avec picture et scene2d. J'ai toujours coloré FORM avec color 0,r,v,b. Rectangle est en 1er lieu un dessin. De plus avec rectangle, il faut non seulement définir la couleur du fond, et aussi du périmètre. @+ |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Problème avec MARK_OFF Jeu 17 Déc 2009 - 14:27 | |
| | |
| | | Contenu sponsorisé
| Sujet: Re: Problème avec MARK_OFF | |
| |
| | | | Problème avec MARK_OFF | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |