Bonjour,
Je veux faire une simple boucle de décrementation des secondes. Par ex. j'ai un Label1, et je veux décrementer 1 minute (60 sec) par secondes, c.a. dire, chaque seconde mon label montre 1 sec de mons, jusqu'au zero.
Merci!!
Bonjour,
Je veux faire une simple boucle de décrementation des secondes. Par ex. j'ai un Label1, et je veux décrementer 1 minute (60 sec) par secondes, c.a. dire, chaque seconde mon label montre 1 sec de mons, jusqu'au zero.
Merci!!
Bonjour,
Il faut mettre un timer dans la forme (avec un intervallle de 1000 ms) et
à chaque événement onTimer décrémenter le compte de secondes.
Attention, cette methode ne garantit pas un décompte parfait du temps passé sur de grands intervalles (qq heures).
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Oui, je sais qu'il faut utiliser le timer, mais quel code dedans?
Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 var Form1: TForm1; seconde:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Seconde:=60; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if seconde = 0 then exit else dec(seconde); edit1.text:=inttostr(seconde); end; end.
un ptit code j'avais depuis longtemps, tu peut afficher un nombre de secondes de manière extremement personalisable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 function TicsToTime(Seconds : Integer) : String; const daysecs = 3600 * 24; var j,h,m : Integer; begin m := 0; h := m; j := m; while Seconds >= daysecs do //Jour begin Inc(j); Dec(Seconds,daysecs); end; while Seconds >= 3600 do //Minutes begin Inc(h); Dec(Seconds,3600); end; while Seconds >= 60 do //Secondes begin Inc(m); Dec(Seconds,60); end; Result := ''; if(j > 0) then Result := Result + IntToStr(j) + ' j '; if(h > 0) then Result := Result + IntToStr(h) + ' h '; if(m > 0) then Result := Result + IntToStr(m) + ' m '; if(Seconds > 0) then Result := Result + IntToStr(Seconds) + ' s'; if(Result = '') then Result := '0 s'; end;
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
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