Page 1 sur 1

[R] Minuteur 15 min

Posté : lun. 19 juil. 2010 20:49
par tuyn00txa
Bonjour, je voulais trouver un autre moyen d'éxecuter la même chose que ce bout de programme, c'est à dire afficher une pause de 15 min à l'écran (minuteur) car ce programme m'utilise 50% de ma RAM (1 go).

Merci pour votre aide.

Code : Tout sélectionner

Local $differ,$temp=960,$compt,$initi,$minute,$seconde

while ($temp>0)
$differ = TimerDiff ($Initi)
If $differ >= ($Compt + 1000) Then
 if _IsPressed("2D",$dll) Then
     $temp-=130
 EndIf
 $temp = $temp - 1
 $Minute = $temp/60
 $Minute = int($Minute)
 $seconde = mod ($temp,60)
 ToolTip("Pause: "&$Minute & " min " & $seconde & " sec",739,11)
 $Compt = $differ
Endif
If $temp < 0 Then
  ToolTip("")
EndIf
WEnd

Re: [..] Minuteur 15 min

Posté : lun. 19 juil. 2010 22:59
par timmalos
Il vous suffit de rajouter Sleep(100) pour liberer le processeur, surtout que vous n'afficher que toutes les secondes, un Sleep(500) serait encore mieux. Je vous propose cependant le code suivant qui est un peu mieux, il est certain d'être toujours à l'heure.

Code : Tout sélectionner

#include <Misc.au3>
;/////////:::::Config
Dim $time[3] = [10,15,50] ; Attendre 10heure, 15 minutes, 50 secondes
Local $interval = 100 ; = Affichage toutes les 1 secondes, permet de liberer le processeur
;/////////:::::Declaration
Local $differ, $init, $dll
Local $nb_sec_to_wait = $time[2] + $time[1]*60 + $time[0]*3600
$dll = DllOpen("user32.dll")
$init = TimerInit()

While ($nb_sec_to_wait > 0)
    If _IsPressed("2D", $dll) Then
        $nb_sec_to_wait -= 130
    EndIf

    $nb_sec_to_wait -= TimerDiff($init)/1000
    $init = TimerInit()

    $time[2] = Round(Mod($nb_sec_to_wait, 60),3)
    $time[1] = Int(Mod($nb_sec_to_wait,3600)/ 60)
    $time[0] =  Int($nb_sec_to_wait/ 3600)
    ToolTip("Pause: " & $time[0] & " heures " & $time[1] & " min " & $time[2] & " sec", 739, 11)
    Sleep($interval)
WEnd
ToolTip("")

Re: [..] Minuteur 15 min

Posté : lun. 19 juil. 2010 23:54
par tuyn00txa
Merci beaucoup timmalos, cela correspond parfaitement à ma demande. :D :D