[R] Optimisation de script (Sleep)
Posté : mar. 20 juin 2017 13:24
Bonjour,
J'ai fait un programme qui commence à devenir assez gros et j'ai un petit soucis, j'utilise des sleep pour mettre le programme en pause.
J'ai donc abréger le code pour éviter de vous dégouter direct, j'explique mon problème ici j'ai un timer (timerInit) pendant lequel le programme se met en pause pendant 3h après avoir fini sa tâche et recommence 3h après. Pour pas qu'il boucle constamment j'ai utiliser un Sleep() qui me permet de mettre le programme en pause temporairement. Sauf que j'ai aussi un timer qui affiche le temps écoulé (fonction runtime() ) qui elle est mit en pause ducoup elle compte plus.
Mon programme à une petite GUI qui une fois en Sleep() ne fonctionne plus ce qui me pose problème. J'ai donc fais diverse recherches j'ai trouver qu'on pouvait utiliser ça https://www.autoitscript.fr/autoit3/doc ... gister.htm , je suis donc aller chercher sur internet mais l'aide autoit n'est pas complète "Enregistre une fonction AdLib." cela ne m'avance pas beaucoup, j'ai lu sur des sites anglais sans trop tout comprendre qu'on pouvait utiliser aussi OnEventMode mais je suis tout aussi perdu, si quelqu'un pouvait m'éclairer ça serait sympa.
Cordialement, Eferlan
J'ai fait un programme qui commence à devenir assez gros et j'ai un petit soucis, j'utilise des sleep pour mettre le programme en pause.
Code : Tout sélectionner
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Case $Button3
runtime()
While 1
If TimerDiff($iTimer) >= 60 * 60 * 1000 * 3 Or $incTimer = 1 Then ;60*60 = 3600s (1heure) * 1000 (ms => s) * 3 (3heures)
<CODE>
EndIf
Next
<CODE>
$iTimer = TimerInit()
Else
GUICtrlSetData($active, "Attente")
EndIf
$incTimer = 0
Sleep(10)
WEnd
WEnd
;---------------------------------------------------------------------------------
Func runtime()
Local $sec, $min, $hr
$sec = Mod($seconds, 60)
$min = Mod($seconds / 60, 60)
$hr = Floor($seconds / 60 ^ 2)
GUICtrlSetData($Dtimer, StringFormat("%02i:%02i", $hr, $min))
$seconds += 1
EndFunc ;==>runtime
Mon programme à une petite GUI qui une fois en Sleep() ne fonctionne plus ce qui me pose problème. J'ai donc fais diverse recherches j'ai trouver qu'on pouvait utiliser ça https://www.autoitscript.fr/autoit3/doc ... gister.htm , je suis donc aller chercher sur internet mais l'aide autoit n'est pas complète "Enregistre une fonction AdLib." cela ne m'avance pas beaucoup, j'ai lu sur des sites anglais sans trop tout comprendre qu'on pouvait utiliser aussi OnEventMode mais je suis tout aussi perdu, si quelqu'un pouvait m'éclairer ça serait sympa.
Cordialement, Eferlan