Salut tout le monde
J'ai un problème, je n'ai pas réussi à créer un compte à rebours. Je n'ai pas compris la logique du Timer. Si quelqu'un pouvait m'aider.
merci
Salut tout le monde
J'ai un problème, je n'ai pas réussi à créer un compte à rebours. Je n'ai pas compris la logique du Timer. Si quelqu'un pouvait m'aider.
merci
un Timer exécute une action à intervalle spécifié
si tu veux faire un compte à rebours, mets '30' dans Label1.Caption
lance un timer avec 1000 comme intervalle (1000 ms = 1 seconde)
dans l'événement OnTimer du Timer, il faudra qu'il lise Label1.Caption, le traduise en entier, et le décrémente ; style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure Timer1.Timer(Sender: TObject); var i: integer; begin i:=StrToIntDef(Label1.Caption, -1); if i>0 then begin Dec(i); Label1.Caption:=IntToStr(i); end else Timer.Enabled:=False; end;
Delphi 5 Pro - Delphi 10.4 Rio Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Il est possible, si vraiment le Timer t'est incompréhensible, d'utiliser sleep(t).
Sleep(1000) fera passer une seconde, et si je ne m'abuse ça équivaut à lancer un TTimer avec un intervalle de 1000.
Du genre
En espérant avoir pu fournir une autre solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 While counter>0 do begin Dec(counter); sleep(1000); end;
Non, non, Sleep() est à proscrire au maximum, il ne doit jamais être utilisé car il interrompt le programme et les systèmes d'exploitation n'aiment pas les programmes qui ne répondent pas.
De plus, si on fait une boucle qui prend du temps dans une application VCL ou FMX il faut quand même traiter les modifications à l'écran donc ajouter un Application.ProcessMessages, mais je le répète, le mieux est de ne pas faire de boucle de ce style et encore moins pour un Sleep();
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager