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).
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;
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