Page 1 sur 1

[R] Mettre l'heure dans le programme

Posté : mer. 14 oct. 2009 19:48
par anass
bonjour à tous
je souhaiterai rajouter une horloge dans le programme mais le problème c'est qu'avec

Code : Tout sélectionner

@HOUR &"h"& @MIN &" "& @SEC &" sec
l'heure se freeze qui est normal,je fais donc

Code : Tout sélectionner

while 1
HOUR &"h"& @MIN &" "& @SEC &" sec
wend
ca fait buguer tout l'ordi et je suis obliger de redemarrer

la 2eme chose que je souhaiterai faire c'est de faire une sorte de parcourir pour retrouver un fichier
pour les interessés voila mon code en entier
► Afficher le texte
merci d'avance

Re: mettre l'heure dans le programme

Posté : mer. 14 oct. 2009 19:48
par DJSIR
Pour commencer, comme j'ai dit dans vôtre post de présentation, pensez à lire les règles de présentation d'un message et d'éditer vôtre titre.

Ensuite pour l'heure, c'est tout simple.
Si (par exemple) vous avez défini l'heure dans un label, grace à : @HOUR & "h" & @MIN & ":" & @SEC & "sec", il faut donner un nom à vôtre controle : $heure=GUICtrlCreate...
Après, dans la While, il faudra rafraichir l'heure toutes les secondes et pas sans arret. Donc on définis par exemple $ancien = 0 avant la boucle et $nouveau = @HOUR & "h" & @MIN & ":" & @SEC & "sec" dans la boucle.
Ensuite, tout se joue avec un If $ancien<>$nouveau Then
GUICtrlSetData($heure, $nouveau)
$ancien=$nouveau
EndIf

J'explique en français :
Si $ancien est différent de $nouveau (si l'heure actuelle est différente de celle affichée), on effectue les actions suivantes
On dit au contrôle $heure d'afficher l'heure de tout de suite soit $nouveau.
On dit maintenant que l'heure affichée devient ancienne
On dit de continuer la boucle

Voilà. Pour le 2nd problème, on verra après !

EDIT : Merci d'avoir édité ton message mais c'est pas [...] mais [..], comme le dit l'admin, "vau mieu un forum propr qu'un débri ou prsone comprend !", IL PARLE PAS COMME CA EN RÉALITÉ !

Re: mettre l'heure dans le programme

Posté : mer. 14 oct. 2009 19:55
par anass
je suis étonné par la rapidité de ta réponse

Re: mettre l'heure dans le programme

Posté : mer. 14 oct. 2009 19:58
par DJSIR
anass a écrit :je suis étonné par la rapidité de ta réponse
C'est comme ça dans ce forum !

Re: [..]mettre l'heure dans le programme

Posté : mer. 14 oct. 2009 20:24
par anass
j'ai bien essayé ce que tu m'as dit
j'avais déja creer un label (exprés pour l'heure )
le label était

Code : Tout sélectionner

$label2 = GUICtrlCreateLabel(" ", 64, 176, 196, 17)
et comme tu m'as dit je fais

Code : Tout sélectionner

$ancien=0
while 1
$nouveau=@HOUR &"h"& @MIN &" "& @SEC &" sec"
If $ancien<>$nouveau Then
GUICtrlSetData($label2, $nouveau)
$ancien=$nouveau
EndIf
wend
mais ça ne marche pas,j'ai raté quelque chose??

Re: [..]mettre l'heure dans le programme

Posté : mer. 14 oct. 2009 20:34
par Tlem
Je ne vois vraiment pas pourquoi vous faites un contrôle sur l'heure puisque votre but est de l'afficher !!!
Ceci suffit amplement :

Code : Tout sélectionner

while 1
    GUICtrlSetData($label2, @HOUR &"h"& @MIN &" "& @SEC &" sec")
    Sleep(500)
wend
Par contre cela va vous bloquer pour le reste si vous devez faire d'autres action. Dans ce cas utilisez la commande AdlibEnable() pour mettre à jour l'affichage de l'heure et dans votre boucle principale tester ce que vous voulez. ;)
Il y à des exemples sur le forum. Vous trouverez. ;)

Re: [..] Mettre l'heure dans le programme

Posté : jeu. 15 oct. 2009 19:56
par anass
MERCI A TOI TLEM
j'ai à faire marcher mon code
le truc était assez simple, la flemme d'expliquer je passe le code diretement

Code : Tout sélectionner

AdlibEnable( "date" , 500 )
func date()
$date1 = @MDAY &"/"& @MON &"/"& @YEAR &" - "& @HOUR &"H"& @MIN &" "& @SEC &" sec"
$label2 = GUICtrlCreateLabel($date1, 64, 176, 196, 17)
endfunc
la commande adlibenable a résolu mon problème merci à tous
(mais il reste toujours mon 2eme problème)

Re: [..] Mettre l'heure dans le programme

Posté : jeu. 15 oct. 2009 21:14
par Tlem
Pour parcourir l'ordinateur à la recherche d'un fichier, utilisez la fonction FileOpenDialog().

Re: [..] Mettre l'heure dans le programme

Posté : sam. 17 oct. 2009 12:31
par guitarist
Bon et bien come on ta repondu ce cerai bien de rajouter la balise [R]
C'est tout bonne programation
Merci

Re: [..] Mettre l'heure dans le programme

Posté : ven. 23 oct. 2009 20:48
par anass
je suis vraiment désolé du retard,j'étais occupé ailleurs.
bon ben merci de votre aide me manque juste que je finisse mon script
a bientot