unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IniFiles, ExtCtrls, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Label1: TLabel;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Zielzeit: TDateTime;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
ini: TIniFile;
filename:
String;
begin
filename := ExtractFilePath(ParamStr(0)) + '
zeit.ini';
ini := TIniFile.Create(filename);
Zielzeit := now + 1;
try
ini.WriteDateTime('
Daten','
Zielzeit',Zielzeit);
finally
ini.Free;
end;
Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// Eine von den folgenden 3 Varianten lässt du stehen. Die anderen 2 löscht du einfach
Label1.Caption:= TimeToStr(zielzeit - now);
// So wird die Restzeit dargestellt
Label1.Caption:= TimeToStr(zielzeit);
// So wird die Zielzeit dargestellt. Das macht aber im Timer-Ereigns keinen Sinn
Label1.Caption:= TimeToStr(now);
// So wird die aktuelle Zeit dargestellt
if now >= Zielzeit
then
begin
Timer1.enabled:=false;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
ini: TIniFile;
filename:
String;
begin
filename := ExtractFilePath(ParamStr(0)) + '
zeit.ini';
ini := TIniFile.Create(filename);
Zielzeit:=StrtoDateTime(ini.ReadString('
Daten','
Zielzeit','
'));
ini.Free;
timer1.Enabled:=true;
end;
end;