type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
procedure null;
end;
TMein = class(TThread)
procedure Execute; override;
procedure doit;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var
t: TTime;
const
lauf: boolean = false;
n = '00:00:00';
procedure TMein.Execute;
begin
repeat
if lauf then synchronize(doit);
until false;
end;
procedure TMein.doit;
var rest: string;
begin
with Form1 do begin
rest := formatdatetime('hh:nn:ss', t - frac(time));
if rest <> label1.caption then
label1.caption := rest;
if rest = n then begin
lauf := false;
showmessage('Zeit ist abgelaufen');
end;
end;
end;
procedure TForm1.null;
begin
label1.caption := n;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
null;
button1.caption := '&Start/Stop';
TMein.create(false);
end;
// Countdown für eine Stunde, fünfundzwanzig Minuten und dreißig Sekunden
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
if not lauf then begin
s := '01:25:30';
lauf := true;
label1.caption := s;
t := strtotime(s) + time + 0.00001;
end else begin
lauf := false;
null;
end;
end;