procedure setzen(jahr, monat, tag, stunde, minute, sekunde, msekunde: word);
var neu: TSystemTime;
begin
neu.wyear := jahr;
neu.wmonth := monat;
neu.wday := tag;
neu.whour := stunde;
neu.wminute := minute;
neu.wsecond := sekunde;
neu.wmilliseconds := msekunde;
setlocaltime(neu);
// Die Uhr in der Taskleiste wird (je nach Betriebssystem)
// erst nach Minutenablauf aktualisiert
end;
procedure zeitsetzen(z: string);
var
jahr, monat, tag, stunde, minute, sekunde, msekunde: word;
begin
decodeDate(date, jahr, monat, tag);
decodeTime(strtodatetime(z), stunde, minute, sekunde, msekunde);
setzen(jahr, monat, tag, stunde, minute, sekunde, msekunde);
end;
procedure datumsetzen(z: string);
var
jahr, monat, tag, stunde, minute, sekunde, msekunde: word;
begin
decodeDate(strtodatetime(z), jahr, monat, tag);
decodeTime(time, stunde, minute, sekunde, msekunde);
setzen(jahr, monat, tag, stunde, minute, sekunde, msekunde);
end;
procedure datumzeitsetzen(z: string);
var
s: TDateTime;
jahr, monat, tag, stunde, minute, sekunde, msekunde: word;
begin
s := strtodatetime(z);
decodeDate(s, jahr, monat, tag);
decodeTime(s, stunde, minute, sekunde, msekunde);
setzen(jahr, monat, tag, stunde, minute, sekunde, msekunde);
end;
// Aufrufbeispiele
procedure TForm1.Button3Click(Sender: TObject);
begin
zeitsetzen('17:14:30');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
datumsetzen('24.12.2000');
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
datumzeitsetzen('1.1.2001 19:30:25');
end;