AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit SetSytemTime

Ein Thema von daniel8520 · begonnen am 24. Sep 2004 · letzter Beitrag vom 24. Sep 2004
Antwort Antwort
daniel8520
(Gast)

n/a Beiträge
 
#1

Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:10
Hallo,

ich hab Probleme mit SetSytemTime().
Hab folgendes probiert:
Ich hab das Jahr, den Monat und den Tag aus einer Ini lesen lassen. Funzt natürlich auch. Nun wollte ich einer Variablen (Time) des Typs TSystemTime ein neues Jahr, einen neuen Monat und einen neuen Tag zuweisen. Klappt auch noch.
Und dann hab ich einfach folgendes gemacht:
SetSystemTime(Time) Aber die Funktion liefert mir false. Kann mir jemand sagen, woran das liegt/liegen kann?
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#2

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:13
Vielleicht hast du nicht die Berechtigungen, die Systemzeit zu setzen? Probier mal händisch, die Zeit zu ändern!
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
daniel8520
(Gast)

n/a Beiträge
 
#3

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:16
Das klappt ohne weiteres. Bin ja Admin!
Hat noch jemand eine Idee?

Danke für bisherige Hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:23
Hi Daniel,

Meine Win32 SDK-Hilfe schreibt folgendes:
The SetSystemTime function sets the current system time and date. The system time is expressed in Coordinated Universal Time (UTC).

BOOL SetSystemTime(
CONST SYSTEMTIME *lpSystemTime // address of system time to set
);


Parameters

lpSystemTime

Points to a SYSTEMTIME structure that contains the current system date and time.
The wDayOfWeek member of the SYSTEMTIME structure is ignored.


Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Meinen Englischkenntnissen nach darfst du also nicht die Zeit mitgeben, sondern die Adresse auf die SYSTEMTIME-Struktur, in welcher das Datum und die Zeit stehen. Vielleicht hilft dir das weiter, und sonst [msdn:e77687c994="SetSystemTime"]klick mal hier[/msdn:e77687c994].

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
daniel8520
(Gast)

n/a Beiträge
 
#5

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:27
Das mach ich ja nicht. (War oben doof von mir ge/beschrieben). Hier mal mein Code:
Delphi-Quellcode:
var
  TimeVar: TSystemTime;
  Year: Word;
  Month: Word;
  Day: Word;
  Ini: TIniFile;
begin
   If FileExists('FCC.ini')
   then
   begin
     Ini := TIniFile.Create('FCC.ini');
     Year := Ini.ReadInteger('data','year',2003);
     Month := Ini.ReadInteger('data','month',1);
     Day := Ini.ReadInteger('data','day',1);
     TimeVar.wYear := Year;
     TimeVar.wMonth := Month;
     TimeVar.wDay := Day;
     If SetSystemTime(TimeVar) then
     ShowMessage('OK')
     else
     ShowMessage('Nicht OK');
   end
   else
   ShowMessage('ERROR');
Ich weise ja TimeVar ein neues Datum zu, und setze dann TimeVar mit SetSystemTime. Aber ich bekomme immer false.
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#6

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:38
Versuch mal, die anderen Werte zu initialisieren (wMilliseconds usw.)
(*Welche Uhrzeit steht denn im INI-File? SystemTime ist nämlich eine "GMT"-Zeit, d.h. der Rechner addiert ne Std. für MEZ und noch eine für MESZ!*) --> edit: Unfug gedacht

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#7

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:40
Setzt alles andere auf Null, dann gehts:
Delphi-Quellcode:
     FillChar(TimeVar, SizeOf(TimeVar), 0);
     TimeVar.wYear := Year;
     TimeVar.wMonth := Month;
     TimeVar.wDay := Day;
  Mit Zitat antworten Zitat
daniel8520
(Gast)

n/a Beiträge
 
#8

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 16:51
OK! Klappt jetzt prima. Danke!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Probleme mit SetSytemTime

  Alt 24. Sep 2004, 19:40
Moin Daniel,

dazu noch ein kleiner Tip:
Wenn bei einer Funktion dokumentiert ist, dass man eine nähere Fehlerbeschreibung durch Aufruf von GetLastError erhalten kann, kannst Du dir mit

ShowMessage(SysErrorMessage(GetLastError)); die Ursache im Klartext anschauen.
Manchmal kann das weiterhelfen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:08 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