FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Aujourd'hui à 19:00

» Demande pour Jack concernant PanExpress
par Minibug Aujourd'hui à 15:42

» Calculatrice
par joeeee2017 Aujourd'hui à 9:35

» EPP_V01 éditeur pour Panoramic
par Jean Claude Aujourd'hui à 8:51

» Planétarium virtuel.
par Jean Claude Hier à 18:14

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

» Plantage lors de l'exécution de EXIT_SUB
par Jack Lun 3 Sep 2018 - 18:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Pour faire patienter

Aller en bas 
AuteurMessage
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: 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
' ==============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 3015
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Pour faire patienter   Lun 14 Mai 2018 - 7:54

Salut JL35 !

Ton gadget est très bien, bravo !  Très bonne idée. cheers

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. Wink
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.. Laughing Laughing Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Jean Claude

avatar

Nombre de messages : 5637
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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 Very Happy

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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: 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  Very Happy

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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 3015
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Pour faire patienter   Lun 14 Mai 2018 - 10:24

JL35 a écrit:
je n'ai pas voulu te priver de ce plaisir

Merci ! lol! lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: 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
' ==============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5637
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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....
lol!

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 3015
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: 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 ! drunken

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: 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.. Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5637
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Pour faire patienter   Lun 14 Mai 2018 - 20:23

JL35 a écrit:
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 !

Ben... on a des preuves ! Serte leurs ordinateurs n'étaient pas très "portables", mais ils étaient solides comme la pierre.

lol!

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6326
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Pour faire patienter   Lun 14 Mai 2018 - 20:56

et en plus il regarde des photos cochonnes... quelle époque !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 3015
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Re: Pour faire patienter   Lun 14 Mai 2018 - 21:25

Citation :
Franchement, je ne crois pas que ça vaille le coup de se casser la tête pour ça
Et ben si justement pour l'intégrer dans l'éditeur ! Laughing Laughing

Et pour l'éditeur, c'est par ici ! Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Contenu sponsorisé




MessageSujet: Re: Pour faire patienter   

Revenir en haut Aller en bas
 
Pour faire patienter
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le topic des idées cons pour faire fortune... mais ça ne marchera pas
» gps pour faire de la rando pedestre
» jeux pour faire des rébus
» Soucis pour faire un formulaire ( j'espère être dans la bonne section. sinon dites moi ou le mettre)
» profile view_ body et profile_add_body petit soucis mineur pour faire une petite modification

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: