// Mit dieser Routine kann man Datum und/oder Zeit des Computers setzen

// Getestet mit D4 unter Win98

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; 


Zugriffe seit 6.9.2001 auf Delphi-Ecke