[R] Chronomètre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
yoruichiy
Niveau 1
Niveau 1
Messages : 12
Enregistré le : ven. 25 avr. 2008 10:25
Status : Hors ligne

[R] Chronomètre

#1

Message par yoruichiy »

Bonjour,
je ne connais pas trop le langage de script, je souhaiterais savoir quelles fonctions utiliser pour chronometrer les actions realisees

merci par avance
Modifié en dernier par yoruichiy le mer. 30 avr. 2008 11:44, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] chronometre

#2

Message par Tlem »

Tiré de l'exemple de la documentation :

Code : Tout sélectionner

$begin = TimerInit()
sleep(3000)
$dif = TimerDiff($begin)
MsgBox(0,"Time Difference",$dif)
 
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Teyir
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 05 avr. 2018 11:19
Status : Hors ligne

Re: [R] Chronomètre

#3

Message par Teyir »

Bonjour,

Je reviens sur ce vieux sujet car j'ai besoin de votre aide ...

J'aimerais qu'à la fin de mon script une msgbox nous affiche le nombre de minutes et secondes s'est effectué les actions.

J'ai essayé de reprendre votre idée mais le problème est que en milli seconde c'est un peux chaud...

Merci de votre aide :wink:
" Le plus grande plaisir dans la vie est de réaliser ce que les autres nous pensent incapable de réaliser. "
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Chronomètre

#4

Message par Tlem »

Pour convertir le TimerDiff en seconde, divisez par 1000.
Après, comme d’habitude, pour convertir en minute divisez par 60. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Teyir
Niveau 1
Niveau 1
Messages : 8
Enregistré le : jeu. 05 avr. 2018 11:19
Status : Hors ligne

Re: [R] Chronomètre

#5

Message par Teyir »

Merci, Vous auriez un exemple car je ne connais pas bien cette "fonction"
" Le plus grande plaisir dans la vie est de réaliser ce que les autres nous pensent incapable de réaliser. "
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Chronomètre

#6

Message par Tlem »

La documentation de TimerInit() me semble pourtant assez claire ...
Et comme elle a été traduite, c'est encore plus simple. ^^

Du coup, avec le nombre de millisecondes obtenus, il vous reste juste à faire de la conversion numérique.
  • millisecondes/1000 = secondes
  • secondes/60 = minutes
  • minutes/60 = heures

Ce qui nous donne pour 60000ms : 60000/1000/60 = 1mn

Après, rien ne vous empêche de faire des raccourcis. ^^
Par exemple, pour 7200000 ms
  • ms => mn : 7200000/60000 = 120 minutes
  • ms => heures : 7200000/3600000 = 2 heure



Edit :
Comme je sent poindre certaines questions, voici un exemple de convertisseur de millisecondes (retournées par la fonction TimerDiff()) en durée HH:MM:SS) :

Code : Tout sélectionner

HotKeySet("{ESC}", "Quit")

$begin = TimerInit()

while 1
	$Time = TimerDiff($begin)/1000

	$heures = ($Time-Mod($Time, 3600))/3600
	$Time = Mod($Time, 3600)

	$Minutes = ($Time-Mod($Time, 60))/60
	$Time = Mod($Time, 60)

	$Secondes=round($Time)

	$aPos = MouseGetPos()
	ToolTip(StringFormat("%02i:%02i:%02i", $heures, $Minutes, $Secondes), $aPos[0] + 10, $aPos[1] + 10, "En fonction depuis (Echap pour quitter) :")

	sleep(150)
wend

Func Quit()
    Exit
EndFunc
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Chronomètre

#7

Message par mikell »

La même en plus simple (enfin, peut-être) :wink:
   $Time = TimerDiff($begin)/1000

   $heures = Mod($Time/3600, 60)
   $Minutes = Mod($Time/60, 60)
   $Secondes = Mod($Time, 60)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Chronomètre

#8

Message par Tlem »

Ça m'a l'air nickel ça...
Le code que j'ai mis dans mon message correspond à un code récupéré sur le forum US que j'avais déjà quelque peu simplier. Mais visiblement pas assez. ^^

Bien vu Michel

Envoyé de mon SM-N9005 en utilisant Tapatalk

Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Chronomètre

#9

Message par mikell »

Merci, mais c'est pas de moi, j'ai trouvé ça dans un code de UEZ :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [R] Chronomètre

#10

Message par walkson »

Michel, le code a une erreur
Quand le nombre est faible, l'erreur est "juste" mais si le nombre dépasse un jour, l'erreur est visible.
Le code suivant doit être bon
      $Time = 86399 ;3600 * 24 = 86400 = 1 jour
      ;$Time = 86400 * 12 + 64 ;12 jours 1 mn 4 sec
        $jours = Int($Time/86400)
      $heures = Int($Time/3600) - ($jours * 24)
        $Minutes = Int(Mod($Time/60, 60))
        $Secondes = Int(Mod($Time, 60))

      MsgBox(0,"", $jours &"j "& $heures &"h "& $Minutes &"m "& $Secondes &"s")

      MsgBox(0,"",StringFormat("%02ij  %02i:%02i:%02i",$jours, $heures,$Minutes,$Secondes))
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Répondre