AGB  ·  Datenschutz  ·  Impressum  







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

Systemzeit ändern (Win7 x64)

Ein Thema von p7SXGxyS · begonnen am 31. Okt 2010 · letzter Beitrag vom 7. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
p7SXGxyS

Registriert seit: 31. Mai 2008
8 Beiträge
 
Delphi 6 Personal
 
#1

Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 19:45
Halloa,

ich möchte gerne mit einem programm die systemzeit um eine stunde erhöhen (23h->0h;tag+1)
das hab ich erstmal so versucht:

Delphi-Quellcode:
getsystemtime(timestruct);
if TimeStruct.wHour>=23 then
begin
  TimeStruct.wDay := TimeStruct.wDay+1;
  TimeStruct.wHour := 0;
end
else
begin
  TimeStruct.wHour := (TimeStruct.wHour+1);
end;
setlocaltime(timestruct);
aber das funktioniert nicht
wenn ich da mit F7 durchrausch dann scheint ein fehler bei getsystemtime() zu liegen, liefert nicht die korrekte zeit
weiß jemand warums nicht geht oder hat j. eine bessere lösung für og. problem?
ich nutze win7 professional 64bit
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 19:47
Und wieder eine unvollständige Fehlerbehandlung. Du siehst doch, dass es offensichtlich zu einem Fehler kommt. Spätestens dann sollte man mal eine vollständige Fehlerbehandlung implementieren. Oder wie willst du meine Frage nach GetLastError beantworten?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
p7SXGxyS

Registriert seit: 31. Mai 2008
8 Beiträge
 
Delphi 6 Personal
 
#3

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:14
Ok

Delphi-Quellcode:
getsystemtime(timestruct);
  if TimeStruct.wHour>=23 then
  begin
    TimeStruct.wDay := TimeStruct.wDay+1;
    TimeStruct.wHour := 0;
  end
  else
  begin
    TimeStruct.wHour := (TimeStruct.wHour+1);
  end;


  if SetLocalTime(TimeStruct) then
    ShowMessage('1Up :-D')
  else
    RaiselastOSError;

die message erscheint! ich hab um 20:03 auf den button geklickt, getsystemtime liefert nur leider 19 uhr
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:16
getsystemtime liefert nur leider 19 uhr
Hilfe lesen hilft:
Zitat:
Retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC).
Und wir sind eine Stunde vorraus nach der Umstellung der Uhren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
p7SXGxyS

Registriert seit: 31. Mai 2008
8 Beiträge
 
Delphi 6 Personal
 
#5

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:22
yippie, es geht
danke, das war entscheidend

TimeStruct.wHour := (TimeStruct.wHour+2);
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#6

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:25
Besser wäre wahrscheinlich MSDN-Library durchsuchenGetLocalTime, da du damit die lokale Zeit bekommt - also nicht mehr von UTC auf Local umrechnen musst.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:28
Und zwei mal im Jahr änderst du den Quellcode, kompilierst neu und verteilst es neu an alle Benutze*? Abgesehen mal davon, wenn der Benutzer eine andere Zeitzone hat. Bitte auch mal etwas weiter denken,als bis zum Gehäuse des eigenen Rechners.

Und auch hier hilft es die Hilfe zu lesen. Denn würdest du am Ende folgendes finden:
Code:
See Also

[B]GetLocalTime[/B]
GetSystemTimeAdjustment
GetSystemTimeAsFileTime
SetSystemTime
System Time
SYSTEMTIME
Time Functions
*) bevor diese es in den Papierkorb gekickt haben, weil die Zeit andauernd falsch ist?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
p7SXGxyS

Registriert seit: 31. Mai 2008
8 Beiträge
 
Delphi 6 Personal
 
#8

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:36
war zu voreilig, ging doch nicht, jetzt gehts aber wirklich
fehler war nur dass man mit setlocaltime nich die systemzeit beeinflusst bzw andersrum.
prob gelöst, danke für die hilfe.
ich geh schlafen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Systemzeit ändern (Win7 x64)

  Alt 31. Okt 2010, 20:40
fehler war nur dass man mit setlocaltime nich die systemzeit beeinflusst bzw andersrum.
Bitte noch mal in einem ganzen, verständlichen Satz.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
p7SXGxyS

Registriert seit: 31. Mai 2008
8 Beiträge
 
Delphi 6 Personal
 
#10

AW: Systemzeit ändern (Win7 x64)

  Alt 1. Nov 2010, 17:08
Es gibt eine Systemzeit und eine lokale Zeit. Die lokale sieht man in der Taskleiste und die Systemzeit ist was anderes. Dementsprechend muss man um die Taskleistenuhrzeit zu ändern/lesen setlocaltime/getlocaltime verwenden und nicht setsystemtime/getsystemtime.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:43 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