Page 1 sur 1
[..] Minuteur
Posté : mar. 16 févr. 2010 15:01
par Mopoio
Bonjour,
Un de mes amis m'a demandé de lui faire un minuteur qui ferait une alerte toutes les 2h.
J'ai donc crée un code qui gère le temps et décomte en h-min-sec. Je pense que les variables utilisées changent bien mais le problème est qu'à l'affichage les valeurs ne changent pas.
Ellles ne changent que si je re-lance la fenêtre.
Savez-vous d'ou vient le problème et comment je peut le régler svp ?
Re: [..] Minuteur
Posté : mar. 16 févr. 2010 16:47
par GhostLine
Ca serait judicieux de donner ton code ici, histoire que les gens puissent voir ce que tu as utilisé

Re: [..] Minuteur
Posté : mar. 16 févr. 2010 18:09
par Mopoio
Effectivement.
Je ne mets pas le code en entier, trop est useless, le laisse juste la partie concernée :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Label4 = GUICtrlCreateLabel("Temps restant :", 312, 24, 45, 20)
$Group1 = GUICtrlCreateGroup(" ", 304, 56, 161, 89)
$TpsH1 = GUICtrlCreateLabel(" ", 320, 96, 45, 20)
$Label6 = GUICtrlCreateLabel(":", 340, 96, 45, 20)
$TpsMin1 = GUICtrlCreateLabel(" ", 350, 96, 45, 20)
$Label8 = GUICtrlCreateLabel(":", 370, 96, 45, 20)
$TpsS1 = GUICtrlCreateLabel(" ", 380, 96, 45, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$TpsH = 1
$TpsMin = 59
$TpsS = 59
GUISetState(@SW_SHOW)
Func Temps()
$TpsH1 = GUICtrlCreateLabel($TpsH , 320, 96, 45, 20)
$TPsMin1 = GUICtrlCreateLabel($TpsMin , 350, 96, 45, 20)
$TpsS1 = GUICtrlCreateLabel($TpsS , 380, 96, 45, 20)
While 1
Sleep(980)
$TpsS = $TpsS - 1
If $TpsS <= 0 then
$TpsMin = $TpsMin - 1
$TpsS = 59
EndIf
If $TpsMin <= 0 Then
$TpsH = $TpsH - 1
$TpsMin = 59
EndIf
If $TpsH <= 0 and $TpsMin <= 0 and $TpsS <= 0 Then
$TpsH = 1
$TpsMin = 59
$TpsS = 59
ExitLoop
EndIf
WEnd
sleep (7200000)
EndFunc
Re: [..] Minuteur
Posté : mar. 16 févr. 2010 18:16
par Tlem
sleep (7200000) va mettre votre script en pause pendant 2 heure et donc pendant ce temps il ne peut rien faire de plus.
Sur le forum, il y à quelques exemples de timer ou minuteur. Regardez leur code et vous comprendrez mieux.

Re: [..] Minuteur
Posté : mar. 16 févr. 2010 20:20
par Narmeke
Si je vous dis actualiser les labels !
Re: [..] Minuteur
Posté : mer. 17 févr. 2010 12:39
par Yogui
si je dit lire la doc ...
je n'ai pas de GUICreate dans le code ... donc pas de création de "fenêtre" ou mettre vos labels
Vous avez une fonction mais elle n'est pas appelée ?
Ce n'est qu'un bout de code mais bon ...
Bref après avoir déclaré la form et fait ce que Tlem à indiqué dans son message j'ai ça :
► Afficher le texte
Code : Tout sélectionner
#include <Timers.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 633, 447, 192, 124)
$Label4 = GUICtrlCreateLabel("Temps restant :", 312, 24, 45, 20)
$Group1 = GUICtrlCreateGroup(" ", 304, 56, 161, 89)
$TpsH1 = GUICtrlCreateLabel(" ", 320, 96, 45, 20)
$Label6 = GUICtrlCreateLabel(":", 340, 96, 45, 20)
$TpsMin1 = GUICtrlCreateLabel(" ", 350, 96, 45, 20)
$Label8 = GUICtrlCreateLabel(":", 370, 96, 45, 20)
$TpsS1 = GUICtrlCreateLabel(" ", 380, 96, 45, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$TpsH = 1
$TpsMin = 59
$TpsS = 59
GUISetState(@SW_SHOW)
$TpsH1 = GUICtrlCreateLabel($TpsH, 320, 96, 45, 20)
$TpsMin1 = GUICtrlCreateLabel($TpsMin, 350, 96, 45, 20)
$TpsS1 = GUICtrlCreateLabel($TpsS, 380, 96, 45, 20)
Local $starttime = _Timer_Init()
Do
_temps()
Until _Timer_Diff($starttime) > 7200000
MsgBox(0, "", "GO")
Func _temps()
Sleep(980)
$TpsS = $TpsS - 1
GUICtrlSetData($TpsS1, $TpsS)
If $TpsS <= 0 Then
$TpsMin = $TpsMin - 1
$TpsS = 59
GUICtrlSetData($TpsMin1, $TpsMin)
GUICtrlSetData($TpsS1, $TpsS)
EndIf
If $TpsMin <= 0 Then
$TpsH = $TpsH - 1
$TpsMin = 59
EndIf
If $TpsH <= 0 And $TpsMin <= 0 And $TpsS <= 0 Then
$TpsH = 1
$TpsMin = 59
$TpsS = 59
EndIf
EndFunc ;==>_temps
Re: [..] Minuteur
Posté : jeu. 18 févr. 2010 09:14
par Mopoio
Merci pour vos réponses, tout marche très bien maintenant

Re: [..] Minuteur
Posté : jeu. 18 févr. 2010 10:26
par Yogui
Merci de modifier la Balise dans le titre de la demande si le problème est Résolu