FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Vous avez dit bizarre ? Emptypar Yannick Aujourd'hui à 18:32

» Philharmusique
Vous avez dit bizarre ? Emptypar jjn4 Aujourd'hui à 13:58

» PANORAMIC V 1
Vous avez dit bizarre ? Emptypar papydall Hier à 3:22

» select intégrés [résolu]
Vous avez dit bizarre ? Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Vous avez dit bizarre ? Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Vous avez dit bizarre ? Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Vous avez dit bizarre ? Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Vous avez dit bizarre ? Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Vous avez dit bizarre ? Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Vous avez dit bizarre ? Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Vous avez dit bizarre ? Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Vous avez dit bizarre ? Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Vous avez dit bizarre ? Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Vous avez dit bizarre ? Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Vous avez dit bizarre ? Emptypar jjn4 Ven 26 Avr 2024 - 17:39

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

 

 Vous avez dit bizarre ?

Aller en bas 
3 participants
AuteurMessage
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

Vous avez dit bizarre ? Empty
MessageSujet: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyLun 5 Sep 2022 - 20:35

En programmant avec un timer, j'ai trouvé un truc étrange :
D'abord, j'utilise le timer à 1000 :
(pour qu'il se déclenche toutes les secondes)

Code:
rem ' Essai timer 1000
  dim V1M% , V2M%
  V2M%=60
  label clic , time

  progress_bar 410
      left 410,100
      top 410,50
      width 410,150
      height 410,30
      min 410,0
      max 410,100
     
  button 450
      left 450,100
      top 450,150
      width 450,150
      caption 450,"Commencer"
      on_click 450,clic
     
  timer 550 : rem Pour faire marcher la barre de progression
      timer_interval 550,1000
      on_timer 550,time
      timer_off 550
     
end

clic:
  timer_on 550
return

time: : rem Mise en action du timer
  if V2M%>0
      V1M%=V1M%+1
        position 410,(V1M%/V2M%)*100
        if V1M%=>V2M%
            timer_off 550
            position 410,0
            beep
        end_if
  else
      timer_off 550
  end_if
return

Le progress-bar est programmé pour se terminer en 60 secondes.
Je chronomètre : il met 61 secondes (environ)
Cette différence est peut-être déjà significative ?

Pour des raisons d'utilisation différente du timer,
je le règle à 50 (donc 20 fois par seconde)
(je divise donc par 20 pour obtenir le même résultat)
Voir le code ci-dessous :

Code:
rem ' Essai timer 50
  dim V1M% , V2M%
  V2M%=60
  label clic , time

  progress_bar 410
      left 410,100
      top 410,50
      width 410,150
      height 410,30
      min 410,0
      max 410,100
     
  button 450
      left 450,100
      top 450,150
      width 450,150
      caption 450,"Commencer"
      on_click 450,clic
     
  timer 550 : rem Pour faire marcher la barre de progression
      timer_interval 550,50
      on_timer 550,time
      timer_off 550
     
end

clic:
  timer_on 550
return

time: : rem Mise en action du timer
  if V2M%>0
      V1M%=V1M%+1
      if (V1M%/20)=int(V1M%/20) : ' =======================
        position 410,((V1M%/20)/V2M%)*100 : ' -----------------
'        V1M%=V1M%+4 : ' =========================
        if int(V1M%/20)=>V2M% : ' ---------------------
            timer_off 550
            position 410,0
            beep
        end_if
      end_if : ' ============================
  else
      timer_off 550
  end_if
return

les ligne roses simples indiquent des modifications
les lignes roses doubles ont été carrément ajoutées
Je chronomètre : il met 76 secondes pour faire la même chose !!!
J'ai fait une erreur de calcul ou le timer a un pet au casque ?
C'est une histoire à s'arracher les cheveux !
scratch
Alors j'ai trouvé un truc (mais alors vraiment un truc)
c'est d'ajouter : V1M%=V1M%+4 (ligne 37)
et ça se remet à fonctionner à peu près correctement.
Mais il faut quand même admettre que la méthode fait bricolo-bancal !
Alors, si quelqu'un y comprend quelque chose... et trouve mieux...
(Allez, place aux grosses poitures)
lol!
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Minibug

Minibug


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

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyLun 5 Sep 2022 - 21:22

Bonsoir Jjn4,

Bon c'est vrai que les timers dans Panoramic c'est pas ce qui se fait de mieux...

PS : j'ai édité le code à plusieurs reprise en incluant un calcul du temps à la fin. Il y a juste 1 minute !
J'ai mis la position sur un écart de 2 car cela donne un chiffre rond mais après tu peux choisir ton écart comme tu veux...

voila comment je procéderai :

Code:


rem ' Essai timer 1000
  
  dim t$
  label clic , time

  progress_bar 410
      left 410,100
      top 410,50
      width 410,150
      height 410,30
      min 410,0
      max 410,100
    
  button 450
      left 450,100
      top 450,150
      width 450,150
      caption 450,"Commencer"
      on_click 450,clic
    
  timer 550 : rem Pour faire marcher la barre de progression
      timer_interval 550,1200 : ' 60000/50 (60000 c'est les millisecondes et 50 c'est le nbre de positions du progress_bar)
      on_timer 550,time
      timer_off 550
    
end

clic:
  INACTIVE 450
  timer_on 550  
  t$=time$
return

time: : rem Mise en action du timer
  if position(410)=98
      timer_off 550
      position 410,0
      ACTIVE 450
      beep
      MESSAGE "Début : "+t$+CHR$(13)+"Fin : "+time$
  else
      position 410,position(410)+2  
  end_if
return
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2392
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyLun 5 Sep 2022 - 21:51

Bonsoir les Amis !

Si vous souhaitez de la précision, il est préférable d'utiliser NUMBER_TICKS au lieu d'un TIMER.
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyMar 6 Sep 2022 - 14:40

Merci de vos réponses à tous.
@Minibug:
king
Solution astucieuse, mais j'ai besoin
que le timer reste à un intervalle de 50,
parce que j'en ai besoin pour autre chose.
C'est le nombre d'interruptions, qui doit varier,
pas leur durée :
pour une minute : 60 positions du progress-bar
pour une minute et demie : 90 positions du progresse_bar
etc... pirat
Je conserve donc ma solution bricolage
(qui, après tout, n'est pas si mal que ça)
alien
Mais je ne savais pas que le timer était aussi imprécis
(je pensais qu'il s'agissait d'un processus d'interruption
fonctionnant pile-poil, comme le papier à musique).
affraid
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Minibug

Minibug


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

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyMar 6 Sep 2022 - 15:32

Bonjour Jjn4

Un intervalle de 50ms sur le timer me semble très court !
Ca veut dire que tu appelles 20 fois la routine par seconde...

Je ne sais pas ce que tu compte faire dans cet intervalle mais le traitement risque de rentrer un conflit avec l'appel répété du timer.
D'où peut être le problème rencontré...

Après comme le disait Marc tu peux calculer l'intervalle avec NUMBER_TICKS. A toi de voir...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyMar 6 Sep 2022 - 15:37

Il s'agit de faire qu'une image se balade,
et avec un intervalle de 1 seconde,
cela fait informatique des années 80...
D'où le 50 millième qui la fait se balader
d'1 pixel tous les 50/1000 de seconde.
geek
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Minibug

Minibug


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

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyMar 6 Sep 2022 - 15:51

Voilà ce que je propose avec le fonction NUMBER_TICKS :

Code:



rem ' Essai timer 1000
 
  dim debut% , ecart% , t$
  label clic , time

  progress_bar 410
      left 410,100
      top 410,50
      width 410,150
      height 410,30
      min 410,0
      max 410,100
   
  button 450
      left 450,100
      top 450,150
      width 450,150
      caption 450,"Commencer"
      on_click 450,clic
   
  timer 550 : rem Pour faire marcher la barre de progression
      timer_interval 550,50
      on_timer 550,time
      timer_off 550
   
end

clic:
  INACTIVE 450
  timer_on 550 
  debut%=NUMBER_TICKS
return

time: : rem Mise en action du timer
  ecart%=(NUMBER_TICKS-debut%)/1000
  position 410,(ecart%/60*100) : CAPTION 0,ecart%

  if position(410)=100
      timer_off 550
      position 410,0
      ACTIVE 450
      beep
  end_if
return
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jjn4

jjn4


Nombre de messages : 2705
Date d'inscription : 13/09/2009

Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? EmptyMer 7 Sep 2022 - 10:52

Superbe, Minibug, et merci !
Là, effectivement, c'est vraiment pile poil !
Impeccable !
king
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





Vous avez dit bizarre ? Empty
MessageSujet: Re: Vous avez dit bizarre ?   Vous avez dit bizarre ? Empty

Revenir en haut Aller en bas
 
Vous avez dit bizarre ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» @ Jack et Klaus - Bizarre Bizarre, vous avez dit bizarre ?!
» version instantanée du 5 décembre 2009
» Binaire vous avez dit binaire mais....
» Bizarre bizarre est-ce un bug du langage ? (résolu)
» Vous avez commencer où !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: