Okay,
letzter Versuch
Der Code basiert auf TIDTime von den Indys
Delphi-Quellcode:
function Time2UTC(aLocalTime: TDateTime): TDateTime;
const
MinsPerDay = 24 * 60;
var
zeitzone: TTimeZoneInformation;
localdiff: integer;
begin
localdiff := 0;
case GetTimeZoneInformation(zeitzone) of
TIME_ZONE_ID_STANDARD:
begin
localdiff := (zeitzone.Bias)
end;
TIME_ZONE_ID_DAYLIGHT:
begin
localdiff := (zeitzone.Bias) + (zeitzone.DaylightBias)
end;
end;
Result := ((aLocalTime * MinsPerDay) + localdiff) / MinsPerDay;
end;
procedure SetzeComputerZeit (aTime : TDateTime);
var
NewTime: TDateTime;
SystemTime: TSystemTime;
begin
Newtime := Time2UTC(aTime); // Zeit in UTC umwandeln
DateTimeToSystemTime(NewTime, SystemTime); // In TSystemTime wandeln
SetSystemTime(SystemTime); // *blubb*
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SyncTime : TDateTime;
begin
IdTime1.Host := 'ptbtime1.ptb.de'; // Time-Server
SyncTime := IdTime1.DateTime; // Zeit mit den Indys holen
SetzeComputerZeit(SyncTime);
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"