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 |
|
|
| Pour faire patienter | |
| | Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Pour faire patienter Lun 14 Mai 2018 - 0:05 | |
| Un petit gadget circulaire animé pour faire patienter l'opérateur pendant une opération quelconque un peu longue, de largeur donnée, affichage n'importe où sur l'écran: - Code:
-
LABEL Arret DIM w%,stp% BUTTON 1: CAPTION 1,"Arrêt": ON_CLICK 1,Arret w% = 64: ' largeur du cadran (pixels) Tempo(200,500,w%): ' en x=200 y=500 pixels absolus de l'écran END
Arret: stp% = 1 RETURN ' ============================================================================== SUB Tempo(x%,y%,w%) ' Affichage d'un cadran circulaire rotatif, en x%,y% absolus de l'écran, ' dimensions w% x w% pixels. ' Arrêt par positionnement de la variable commune stp% = 1 IF LABEL("Desarc") = 0 THEN LABEL Desarc DIM_LOCAL f%,p%,et%,xc,yc,r1,r2,deb,fin,db,fn,x,y,a,xf,yf f% = 900 FORM f%: BORDER_HIDE f%: TOP f%,y%: LEFT f%,x%: WIDTH f%,w%: HEIGHT f%,w% p%=f%+1: PICTURE p%: PARENT p%,f%: FULL_SPACE p% et% = w%/12: IF et%>20 THEN et% = 20 xc = w%/2: yc = xc: r1 = xc-et%/2: r2 = 2*r1/3 2D_TARGET_IS p%: 2D_RECTANGLE 0,0,w%,w% 2D_PEN_WIDTH et%: 2D_PEN_COLOR 0,255,0 DEGREES WHILE 2>1 FOR deb = 0 TO 350 STEP 10 2D_CIRCLE xc,yc,r1 db = deb: GOSUB Desarc: 2D_CIRCLE xf,yf,et%/2 db = db+180: GOSUB Desarc: 2D_CIRCLE xf,yf,et%/2 PAUSE 50: IF stp% = 1 THEN EXIT_WHILE NEXT deb END_WHILE 2D_TARGET_IS 0: DELETE f% EXIT_SUB Desarc: fn = db+140 x = r2*COS(db): y = r2*SIN(db): 2D_POLY_FROM xc+x,yc-y FOR a = db TO fn x = r2*COS(a): y = r2*SIN(a): 2D_POLY_TO xc+x,yc-y NEXT a xf = xc+x: yf = yc-y RETURN END_SUB ' ============================================================================== | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 7:54 | |
| Salut JL35 ! Ton gadget est très bien, bravo ! Très bonne idée. J'ai simplement modifié le code pour le faire tourner dans le sens des aiguilles d'une montre. Qui à mon sens, semble plus logique. En modifiant la ligne 27. - Code:
-
FOR deb=350 TO 0 STEP -10 Pour chipoter, j'ai aussi changé les couleurs en ajoutant un commentaire sur le code sur les ligne 23 et 24. - Code:
-
2D_TARGET_IS p% : 2D_FILL_COLOR 240,240,240 : 2D_RECTANGLE 0,0,w%,w% : ' Couleur du fond 2D_PEN_WIDTH et% : 2D_PEN_COLOR 0,0,0 : ' Couleur du logo Il ne reste plus qu'a inventer d'autres motifs.. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 9:27 | |
| Très bonne idée cet objet tempo ! J'ai mis de coté car ça va surement servir Bravo JL35. J'ai arrangé à ma sauce en reprenant l'idée des couleurs de Minibug et j'ai introduit la numérotation automatique de FORM f%. - Code:
-
LABEL Arret dim no%
no%=no%+1 : BUTTON no%: CAPTION no%,"Arrêt": ON_CLICK no%,Arret
Tempo(screen_x/2,screen_y/2,150,255,255,0,40,240,240)
END
Arret: stp% = 1 RETURN ' ============================================================================== SUB Tempo(x%,y%,wh%,rf%,gf%,bf%,rl%,gl%,bl%) ' Affichage d'un cadran circulaire rotatif, en x%,y% absolus de l'écran, ' dimensions wh% x wh% pixels. ' Arrêt par positionnement de la variable commune stp% = 1 ' rf%,gf%,bf% couleurs du fond - rl%,gl%,bl% couleurs du logo ' création automatique du Form f% par no%=no%+1 IF LABEL("Desarc") = 0 THEN LABEL Desarc if variable("stp%")=0 then dim stp% DIM_LOCAL f%,p%,et%,xc,yc,r1,r2,deb,fin,db,fn,x,y,a,xf,yf no%=no%+1 : f%=no% FORM f%: BORDER_HIDE f%: TOP f%,y%: LEFT f%,x%: WIDTH f%,wh%: HEIGHT f%,wh% p%=f%+1: PICTURE p%: PARENT p%,f%: FULL_SPACE p% et% = wh%/12: IF et%>20 THEN et% = 20 xc = wh%/2: yc = xc: r1 = xc-et%/2: r2 = 2*r1/3 2D_TARGET_IS p% : 2D_FILL_COLOR rf%,gf%,bf% : 2D_RECTANGLE 0,0,wh%,wh% : ' Couleur du fond 2D_PEN_WIDTH et% : 2D_PEN_COLOR rl%,gl%,bl% : ' Couleur du logo DEGREES WHILE 2>1 FOR deb = 350 TO 0 STEP -10 2D_CIRCLE xc,yc,r1 db = deb: GOSUB Desarc: 2D_CIRCLE xf,yf,et%/2 db = db+180: GOSUB Desarc: 2D_CIRCLE xf,yf,et%/2 PAUSE 50: IF stp% = 1 THEN EXIT_WHILE NEXT deb END_WHILE 2D_TARGET_IS 0: DELETE f% EXIT_SUB Desarc: fn = db+140 x = r2*COS(db): y = r2*SIN(db): 2D_POLY_FROM xc+x,yc-y FOR a = db TO fn x = r2*COS(a): y = r2*SIN(a): 2D_POLY_TO xc+x,yc-y NEXT a xf = xc+x: yf = yc-y RETURN END_SUB ' ==============================================================================
A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 9:27 | |
| @Minibug, J'y avais bien pensé pour le sens de rotation, mais je m'étais dit du moment que ça tourne... Et je n'ai pas voulu te priver de ce plaisir Et après, la porte est ouverte à toutes les variantes, fond, couleurs, c'est fait pour ça ! Salut Jean Claude, je vois que tu t'y mets aussi, ça fait plaisir ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 10:24 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 12:31 | |
| Perso, à mon âge, je préfère le temps qui va à rebours, c'est à dire le sens trigonométrique. Une remarque concernant ton changement de sens: les petites boules sont censées représenter des pointes de flèches (je ne me suis pas trop fatigué là-dessus !). En inversant le sens, il aurait aussi fallu inverser la position de ces boules... comme ceci (j'ai repris tes modifs de couleurs): - Code:
-
LABEL Arret DIM w%,stp% WIDTH 0,150: HEIGHT 0,100: COLOR 0,255,0,0: FONT_SIZE 0,18 BUTTON 1: TOP 1,20: LEFT 1,30: CAPTION 1,"Arrêt": ON_CLICK 1,Arret w% = 128: ' largeur du cadran (pixels) Tempo(200,300,w%): ' en x=200 y=300 pixels absolus de l'écran END
Arret: stp% = 1 RETURN ' ============================================================================== SUB Tempo(x%,y%,w%) ' Affichage d'un cadran circulaire rotatif, en x%,y% absolus de l'écran, ' dimensions w% x w% pixels. ' Arrêt par positionnement de la variable commune stp% = 1 IF LABEL("Desarc") = 0 THEN LABEL Desarc DIM_LOCAL f%,p%,et%,xc,yc,r1,r2,deb,fin,db,fn,x,y,a,xf,yf f% = 900 FORM f%: BORDER_HIDE f%: TOP f%,y%: LEFT f%,x%: WIDTH f%,w%: HEIGHT f%,w% p%=f%+1: PICTURE p%: PARENT p%,f%: FULL_SPACE p% et% = w%/12: IF et%>20 THEN et% = 20 xc = w%/2: yc = xc: r1 = xc-et%/2: r2 = 2*r1/3 2D_TARGET_IS p% : 2D_FILL_COLOR 240,240,240 : 2D_RECTANGLE 0,0,w%,w% : ' Couleur du fond 2D_PEN_WIDTH et% : 2D_PEN_COLOR 0,0,0 : ' Couleur du logo DEGREES WHILE 2>1 FOR deb = 350 TO 0 STEP -10 2D_CIRCLE xc,yc,r1 db = deb: GOSUB Desarc db = db+180: GOSUB Desarc PAUSE 50: IF stp% = 1 THEN EXIT_WHILE NEXT deb END_WHILE 2D_TARGET_IS 0: DELETE f% EXIT_SUB Desarc: fn = db+140 x = r2*COS(db): y = r2*SIN(db): 2D_CIRCLE xc+x,yc-y,et%/2 2D_POLY_FROM xc+x,yc-y FOR a = db TO fn x = r2*COS(a): y = r2*SIN(a): 2D_POLY_TO xc+x,yc-y NEXT a xf = xc+x: yf = yc-y RETURN END_SUB ' ============================================================================== | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 13:25 | |
| Effectivement, c'est plus cohérent d'avoir les têtes dans le sens de rotation. Si seulement le compte à rebours dans le sens inverse des aiguilles d'une montre pouvait nous faire remonter dans le temps, quel aubaine ! Il y aurait bien des choses à changer.... Mais attention à ne pas dépasser sa date de naissance.... A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 16:52 | |
| Bien sûr il faut savoir s'arrêter à temps ! mais j'ai largement le temps de voir venir avant de remonter à Cro-Magnon... qui n'avait même pas un portable si ça se trouve ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 19:53 | |
| - JL35 a écrit:
- Une remarque concernant ton changement de sens: les petites boules sont censées représenter des pointes de flèches (je ne me suis pas trop fatigué là-dessus !). En inversant le sens, il aurait aussi fallu inverser la position de ces boules... comme ceci (j'ai repris tes modifs de couleurs):
Ah ben oui, j'avais même pas fait attention à ça ! Concernant les flèches au lieu des boules il faudrait reprendre ce que Papydall et Klaus avaient fait concernant l'organigramme de Klaus ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 20:02 | |
| Franchement, je ne crois pas que ça vaille le coup de se casser la tête pour ça, ce n'est qu'un gadget visuel qui tourne... il y a des choses bien plus importantes, un éditeur par exemple.. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| | | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Pour faire patienter Lun 14 Mai 2018 - 20:56 | |
| et en plus il regarde des photos cochonnes... quelle époque ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| | | | Contenu sponsorisé
| Sujet: Re: Pour faire patienter | |
| |
| | | | Pour faire patienter | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |