papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: La commande COLOR a-t-elle besoin de prendre son souffle ! Mar 23 Juil 2013 - 19:42 | |
| Dans le code suivant, j’utilise comme couleur de fond du FORM 0, COLOR 0, 0, 0,0. Puis je dessine sur ce même FORM des points dont les coordonnées sont calculées dans une boucle. Je constate (et vous pouvez vérifier) l’anomalie(?) suivante : La commande COLOR n’est pas prise en compte : le tracé se fait sur le fond par défaut et non noir comme imposé par COLOR 0,0,0,0. Pire : Après un certain temps (plus ou moins long), le curseur de la souris se transforme en sablier, l’écran s’efface et en cliquant sur le bouton gauche de la souris, le texte suivant s’affiche (dans le titre de la fenêtre) : Panoramic editor ne répond pas ! Pour que panoramic se comporte comme il se doit, il faut ajouter (après la commande COLOR) l’une des quatre commandes suivantes : soit CLS ou DISPLAY ou WAIT 1 (ou autre valeur supérieure) ou PAUSE 1 (ou autre valeur supérieure) Essayez le code suivant tel quel pour reproduire l’anomalie, puis enlevez le REM de l’une des lignes 6, 7, 8 ou 9 et relancez le programme : vous pourrez observer une superbe fractale de Mandelbrot. - Code:
-
' ******************************************************************* ' Mandel.bas par Papydall ' ******************************************************************* dim dy%,x%,y%,yy%,a,cx,b,cy,it%,i%,x1,y1,x0,y0,xc,yc full_space 0 : xc = width(0)/2 : yc = height(0)/4 : color 0,0,0,0 ' cls ' display ' wait 1 ' pause 1
FOR dy% = 0 TO 1 caption 0,"Mandelbrot : Passe : " +str$(dy%+1) + " <CLICK> pour arrêter" FOR X% = 100 to 600 a = (X% * .06) - 12 cx = -2 * a / 25 FOR Y% = 0 TO 340 STEP 3 YY% = Y% + dy% : b = YY% * .121 + 21 cy = 2 - b / 25 : x0 = 0 : y0 = 0 : it% = 0 FOR i% = 1 TO 15 x1 = x0 * x0 - y0 * y0 + cx : y1 = 2 * x0 * y0 + cy IF x1 * x1 + y1 * y1 > 4 THEN : it% = 1 :EXIT_FOR x0 = x1 : y0 = y1 NEXT i% IF it% > 0 select i% case 1 : 2d_pen_color 255,255,255 case 2 : 2d_pen_color 255,255,0 case 3 : 2d_pen_color 255,0,255 case 4 : 2d_pen_color 255,0,0 case 5 : 2d_pen_color 0,255,255 case 6 : 2d_pen_color 0,255,0 case 7 : 2d_pen_color 0,0,255 case 8 : 2d_pen_color 0,0,0 case 9 : 2d_pen_color 127,127,127 case 10: 2d_pen_color 127,127,0 case 11: 2d_pen_color 127,0,127 case 12: 2d_pen_color 127,0,0 case 13: 2d_pen_color 0,127,127 case 14: 2d_pen_color 0,127,0 case 15: 2d_pen_color 0,0,127 end_select 2d_point xc-x%,yc+yy% : 2d_point xc-x%,yc+480-yy% 2d_point xc+x%-200,yc+yy% : 2d_point xc+x%-200,yc+480-yy% END_IF if scancode <> 0 then terminate NEXT Y% NEXT X% NEXT dy% caption 0,"TERMINE" END
Dois-t-on conclure que la commande COLOR a besoin de prendre son souffle pour s’exécuter ? | |
|
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: La commande COLOR a-t-elle besoin de prendre son souffle ! Mar 23 Juil 2013 - 21:07 | |
| C'est mentionné dans : Aide / Conseils / 3.2 Le paragraphe s'intitule d'ailleurs "il est conseillé de faire une pause après la coloration d'un FORM"
En effet, Windows colore les FORM quand il peut, et il n'est pas possible de savoir quand. En fait, les demandes graphiques s'empilent et Windows les exécute en commençant par la plus rapide. COLOR est une demande qui sera plus lente à s'exécuter que par exemple la coloration d'un point. Il faut faire une pose pour que Windows termine les traitements graphiques en attente...
Je suis tombé sur le problème au tout début du développement de PANORAMIC fin 2005, début 2006. Comme je n'ai rien pu faire, je l'ai mis dans les conseils. | |
|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: La commande COLOR a-t-elle besoin de prendre son souffle ! Mar 23 Juil 2013 - 22:09 | |
| OK Jack. Une bonne habitude serait de faire suivre un COLOR … par un CLS ou DISPLAY etc. C’est toujours utile pour savoir comment faire et merci pour ton intervention. | |
|
Contenu sponsorisé
| Sujet: Re: La commande COLOR a-t-elle besoin de prendre son souffle ! | |
| |
|