Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage bezüglich Windows Herunterfahren...Wo ist mein Fehler? (https://www.delphipraxis.net/117821-frage-bezueglich-windows-herunterfahren-wo-ist-mein-fehler.html)

Forlan 25. Jul 2008 17:13


Frage bezüglich Windows Herunterfahren...Wo ist mein Fehler?
 
Hi, ich bin grad dabei ein Programm zu schreiben, welches windows zu einer bestimmten Uhrzeit herunterfährt (ich weiß, gibts viele von, möchte aber es mal selber versuchen^^)...

Aber wo ist hier mein Fehler?

Delphi-Quellcode:
procedure TMain.TiShutdownTimer(Sender: TObject);
begin
   if Time = DTPUhrzeit.Time then //DTPUhrzeit = DateTimePicker
            begin
              ExitWindowsEx(EWX_SHUTDOWN, 0);
            end;
end;
Vielen Dank im Vorraus :-D

MfG

Die Muhkuh 25. Jul 2008 17:14

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Überprüf auf >= und nicht auf Gleicheit.

Forlan 25. Jul 2008 17:16

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Zitat:

Zitat von Die Muhkuh
Überprüf auf >= und nicht auf Gleicheit.

Die Idee ist ja prinzipiell erstmal gut, aber leider funktioniert es trotzem noch nicht...

DeddyH 25. Jul 2008 17:16

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Außerdem fehlen möglicherweise die Rechte.

Forlan 25. Jul 2008 17:19

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Zitat:

Zitat von DeddyH
Außerdem fehlen möglicherweise die Rechte.

Welche Rechte brauch ich da denn?? Ich bin eigtl. Admin meines Rechners^^

Phoenix 25. Jul 2008 17:20

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Delphi-Quellcode:
procedure TMain.TiShutdownTimer(Sender: TObject);
begin
   if Time = DTPUhrzeit.Time then //DTPUhrzeit = DateTimePicker
            begin
              ExitWindowsEx(EWX_SHUTDOWN, 0);
            end;
end;
Was ist denn "Time"?
Wo packst Du da die aktuelle Uhrzeit drauf?

DeddyH 25. Jul 2008 17:23

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
SysUtils.Time - gibt die aktuelle Uhrzeit zurück :zwinker:

[edit] @forlan: schau mal hier [/edit]

API 25. Jul 2008 19:34

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Zitat:

Zitat von Forlan
Aber wo ist hier mein Fehler?

Der "Fehler" ist, dass du nicht angegeben hast, was Time für ein Typ ist, was DTPUhrzeit ist , ob die if Abfrage True zurück gibt, unter welchem System du den Code getestet hast, ob du schon mal nach ExitWindowsEx gegoogelt hast etc.

Phoenix 25. Jul 2008 19:36

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Zitat:

Zitat von DeddyH
SysUtils.Time - gibt die aktuelle Uhrzeit zurück :zwinker:

Wird aber nicht aufgerufen, wenn er eine andere Variable namens Time im Scope (z.B. Klasse, schlimmstenfalls Unit) hat.

Forlan 25. Jul 2008 20:51

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Also muss ich was tun damit es funktioniert???

Die Muhkuh 26. Jul 2008 09:12

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Die von Detlef gepostete Funktion nutzen :zwinker:

Forlan 26. Jul 2008 11:40

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
erstmal danke für eure hilfe, aber mit der function funktioniert es leider nur bedingt...

also wenn ich:

Delphi-Quellcode:
procedure TMain.TiShutdownTimer(Sender: TObject);
begin
   if SysUtils.Time >= DTPUhrzeit.Time then
     begin
       MyExitWindows(EWX_POWEROFF or EWX_FORCE);
     end;
end;
schreibe, fährt der Rechner garnicht runter, und wenn ich:

Delphi-Quellcode:
procedure TMain.TiShutdownTimer(Sender: TObject);
begin
   if now >= DTPUhrzeit.Time then
     begin
       MyExitWindows(EWX_POWEROFF or EWX_FORCE);
     end;
end;
fährt der Rechner sofort runter, egal welche Zeit ich eintrage... was ist denn jetzt noch falsch?

Hawkeye219 26. Jul 2008 13:59

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Hallo Marcel,

der DateTimePicker liefert - entgegen der Dokumentation - in den Eigenschaften Date und Time immer Datum und Uhrzeit. Du musst also den Zeitanteil mit der Funktion Delphi-Referenz durchsuchenFrac herausschneiden.

Gruß Hawkeye

Forlan 27. Jul 2008 16:56

Re: Frage bezüglich Windows Herunterfahren...Wo ist mein Feh
 
Delphi-Quellcode:
procedure TMain.TiShutdownTimer(Sender: TObject);
begin
   if SysUtils.Time >= Frac(DTPUhrzeit.Time) then
     begin
       MyExitWindows(EWX_POWEROFF or EWX_FORCE);
     end;
end;
das hab ich jetzt so versucht... aber damit fährt der Rechner sich wieder sofort runter... :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:23 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