AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Systemzeit verändern

Ein Thema von Kompon Ente · begonnen am 19. Jul 2005 · letzter Beitrag vom 22. Jul 2005
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#21
  Alt 22. Jul 2005, 09:45
Zitat von Kompon Ente:
... Allerdings fehlt hinter dem Date noch ein Parameter, aber welches?
Nö oder?
Lese Dir doch mal bitte alle Antworten in diesem Thread durch. Besonders würde ich ein Auge auf die von Steve werfen.

Zitat:
czeit zieht die Zeit von izeit ab, die vergangen ist nach dem synchronisieren, um möglichst eine exakte Uhrzeit zu bekommen.
Ähmmm... welche Zeit soll da denn vergangen sein?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#22
  Alt 22. Jul 2005, 10:22
Also das läuft zwar, aber es gibt immer falsche Daten usw. zurück.

Es stellt das Jahr immer um 111 Jahre zurück, warum auch immer.

Hab im Moment:
Delphi-Quellcode:
DateTimeToSystemTime(czeit - izeit + Date, k);
SetLocalTime(k);
Variable k vom Typ TDateTime.

@Sharky: Das eine ist die Zeit, die abgezogen wird von der Zeit, die vergangen ist seitdem man die Zeit abgefragt hat.

Naja, das wird jetzt auch etwas tricky. Hat jemand 'ne andere Lösung, außer SetLocalTime oder SetSystemTime? Weil die spinnen schon etwas..
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#23
  Alt 22. Jul 2005, 10:25
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"
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#24

Re: Systemzeit verändern

  Alt 22. Jul 2005, 10:26
Nein da spinnt nichts, du benutzt es nur nicht richtig...

Bist du mal mit nem Debugger durchgegangen und hast die einzelnen Werte LIVE geprüft?
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#25
  Alt 22. Jul 2005, 10:28
IdTime funktioniert nicht, bzw. das hab ich schon richtig eingebaut für die normale Internetverbindung. Leider funktioniert diese Komponente nicht bei Proxyservern, sonst würde ich sie da ja auch nehmen.

Bei 'ner normalen Internetverbindung läuft alles einwandfrei.
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#26
  Alt 22. Jul 2005, 13:15
Hier mein Code:

Delphi-Quellcode:
  czeit := now;
  ShowMessage(DateTimeToStr(czeit));
  czeit := EncodeTime(0, 0, ((stop - start) div 1000), ((stop - start) mod 1000));

  DateTimeToSystemTime((izeit + czeit), k);

  DecodeTime(izeit, k.wHour, k.wMinute, k.wSecond, k.wMilliseconds);
  DecodeDate(izeit, k.wYear, k.wMonth, k.wDay);
  k.wSecond := k.wSecond - ((stop + start) mod 1000), ((stop + start) div 1000);
Die letzte Zeile funzt noch net so ganz. Was könnte falsch sein?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#27

Re: Systemzeit verändern

  Alt 22. Jul 2005, 13:24
sollte k wirklich TDateTime sein?

Dann würde sich das ganze Datetimetosystemtime ja erübrigen.

PS: du solltest wirklich ein wenig mehr eigeninitiative zeigen, Kompon Ente!
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#28
  Alt 22. Jul 2005, 13:25
k ist TSystemTime
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#29
  Alt 22. Jul 2005, 13:37
Zitat von Kompon Ente:
Variable k vom Typ TDateTime.
K, sry, dein post weiter oben ließ aber anderes vermuten.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#30
  Alt 22. Jul 2005, 13:44
Jo, und weiter? Ich muss ja das, was ich encode auch wieder decoden, weil Subtrahieren nicht erlaubt ist bei dieser Methode, sonst würde ich ja einfach sagen:

DateTimeToSystemTime((czeit - izeit), k); Was mach ich nun?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz