Ich möchte einen Countdown realisieren.
Angezeigt werden immer Minuten un Sekunden im Format mm:ss, z.B. 02:30. (Schöner wäre natürlich 2:30. Aber wie ?)
Bisher habe ich folgende Lösung:
Delphi-Quellcode:
rocedure TForm1.Timer1Timer(Sender: TObject);
var
min, sec: Byte;
smin, ssec:
string;
begin
min := strtoint (copy (Label3.Caption, 1, 2));
sec := strtoint (copy (Label3.Caption, 4, 2));
if not ((sec = 0)
AND (min = 0))
then
begin
if sec = 0
then
begin
dec (min);
sec := 59;
end
else dec (sec);
smin := inttostr (min); ssec := inttostr (sec);
if length (smin) = 1
then smin := '
0' + smin;
if length (ssec) = 1
then ssec := '
0' + ssec;
Label3.Caption := smin + '
:' + ssec;
end;
end;
Das funktioniert zwar, doch mich dünkt, dass es auch eleganter geht.
Timer-intervall natürlich auf 1000.