Page 1 sur 1
[R] Afficher toutes les heures un message
Posté : jeu. 16 avr. 2009 01:03
par touslesmatins
Bonjour,
Je souhaiterais savoir s’il est possible d’afficher à chaque heure pile (7h00, 8h00, 9h00…) pendant 1 minute une nouvelle GUI, sans bloquer le déroulement du programme initial ?
En gros, j’ai une boucle du style :
while 1
programme initial
wend
et j’aimerais déclencher cette GUI en parallèle (ou au moins sans figer le reste), un peu comme un rappel horaire que j’utilise dans
l’application haccp.
Merci pour votre aide.
Re: [..] Afficher toutes les heures un message
Posté : jeu. 16 avr. 2009 07:57
par Tlem
Oui.
AdlibEnable pour lancer régulièrement une fonction de contrôle de l'heure.
Dans cette fonction, regardez la valeur de @min et/ou @sec pour savoir si vous devez afficher votre seconde GUI.
Re: [..] Afficher toutes les heures un message
Posté : jeu. 16 avr. 2009 18:58
par touslesmatins
Merci Tlem.
euh réponse très concise.
Je regarde
Re: [..] Afficher toutes les heures un message
Posté : lun. 20 avr. 2009 23:28
par touslesmatins
Une aide me serait grandement utile...
merci
Re: [..] Afficher toutes les heures un message
Posté : mar. 21 avr. 2009 06:58
par Tlem
Voici une manière comme une autre de faire ce que vous voulez.
Il faut adapter au type de code que vous voulez exécuter car selon, il faut utiliser le
AdlibEnable d'une autre manière.
En réalité, la manière de réaliser un code dépend de ce que l'on veut faire avec celui-ci. Cet exemple ne s'adapte peut être pas à votre besoin ...
► Afficher le texteExemple de 2 GUIs avec heure
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
AdlibEnable("MiseAJourHeure")
$GUI1 = GUICreate("GUI1", 384, 213, -1, -1)
GUICtrlCreateLabel("Fenêtre 1", 140, 65, 100, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case else
If @SEC = 0 Then GUI2()
EndSwitch
WEnd
Func GUI2()
$GUI2 = GUICreate("GUI2", 350, 160, -1, -1)
GUICtrlCreateLabel("Fenêtre 2", 140, 45, 100, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GUIDelete($GUI2)
ExitLoop
EndSwitch
WEnd
EndFunc
Func MiseAJourHeure()
WinSetTitle($GUI1, "", "GUI1 " & @HOUR & ":" & @MIN & ":" & @SEC)
EndFunc
Re: [..] Afficher toutes les heures un message
Posté : mar. 21 avr. 2009 19:37
par touslesmatins
merci, c'est une bonne piste de travail. je dois pouvoir faire ce que je souhaite.
Merci Tlem pour ton aide precieuse.