Autor Beitrag
kens
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 15:23 
hi,
ich bau mir nen kleines programm um meinen pc nach eingestellter zeit runterzufahren,
doch die variablen sind in integer und sollen als pointer eingegeben werden, guckt am besten selbst:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c : integer;
begin
a :=  StrToInt(edit1.text);
b :=  StrToInt(edit2.text);
c := a*3600+b*60;
ShellExecute(0Nil,'C:\WINDOWS\system32\shutdown.exe''-s -t',pchar(c) , nil, SW_NORMAL);
end;


es soll C:\WINDOWS\system32\shutdown.exe -s -t 21 ausgeführt werden und als 21 soll die variable c eingesetzt werden

vielen dank

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Topic aus Dateizugriff verschoben am Mo 16.07.2007 um 20:06
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 09.07.07 15:26 
Hallo!

Täusch ich mich, oder sind die Argumente für Shellexecute falsch.. :gruebel:

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Dunkel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 682

Mac OS X Snow Leopard
Xcode 3.1
BeitragVerfasst: Mo 09.07.07 15:29 
Hallo!

ausblenden Delphi-Quelltext
1:
ShellExecute(0nil, PChar('C:\WINDOWS\system32\shutdown.exe -s -t'+IntToStr(c)), nil , nil, SW_NORMAL);					


könnte funktionieren.

_________________
Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 09.07.07 15:35 
user profile iconDunkel hat folgendes geschrieben:
Hallo!

ausblenden Delphi-Quelltext
1:
ShellExecute(0, open, PChar('C:\WINDOWS\system32\shutdown.exe -s -tspace'+IntToStr(c)), nil , nil, SW_NORMAL);					


könnte funktionieren.


Space = Leerzeichen :wink:

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 15:51 
@zeitgeist: da stürzt das programm ab, aber ich kann compilieren
@dunkel: da passiert nix, aber ich kann compilieren
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 09.07.07 15:58 
Shutdown funktioniert erst ab W2K!!!

ausblenden Delphi-Quelltext
1:
shellExecute(handle, pchar('command'), pchar('shutdown.exe -s -t ' + inttostr(c)), nil, pchar(''), sw_ShowNormal);					


LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 16:02 
das funktioniert auchnich und ich hab xp und schonmal ohne variablen getestet,das funktioniert

wenn ich jezz nochmal teste stüzt das programm mit folgender meldung ab: project1.exe raised exception class EConvertError with message ""std" is not a valid integer value. process stopped. use step or run to continue, also könnte das von dunkel doch funktioneren, muss nurma neustarten oder so
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 09.07.07 16:06 
user profile iconkens hat folgendes geschrieben:
das funktioniert auchnich und ich hab xp und schonmal ohne variablen getestet,das funktioniert


ausblenden Delphi-Quelltext
1:
ShellExecute(0'open', PChar('C:\WINDOWS\system32\shutdown.exe -s -t '+IntToStr(c)), nil , nil, SW_NORMAL);					

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 16:10 
da passiert garnix, geht das bei dir??

ich mein wenn am anfang dieses open steht gehts nich und wenn ich das pchar vor alles setzte stürzt das programm mit dem fehler ab


Zuletzt bearbeitet von kens am Mo 09.07.07 16:16, insgesamt 1-mal bearbeitet
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 09.07.07 16:14 
bin gleich daheim..dann probier ichs..

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 16:26 
vergiss nich mit start -> ausführen -> shutdown -a das abzubrechen
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 09.07.07 16:30 
ich kenn den befehl sehr gut, trotzdem danke :wink:

ich würde in den befehl noch ein -f (Force) einbauen, denn sonst bekommst du probleme wenn du zum bleistift ein word-dokument offen hast..dann schließt er es nicht und der pc fährt herunter :)

LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.


Zuletzt bearbeitet von ZeitGeist87 am Mo 09.07.07 16:31, insgesamt 1-mal bearbeitet
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 09.07.07 16:30 
Warum so umständlich ??? Hier im Forum gibt's ne Anleitung, wie das ganze mit InitiateSystemShutdown viel einfacher geht ... Man müsste halt mal suchen ...

Ach ja: F1 findest Du in der obersten Reihe, 2. Taste von Links ...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 16:42 
ne ich würds gern übern die shutdown.exe machen

und ich such keine taste sondern hilfe, is doch die f1 funktion :)
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Mo 09.07.07 16:53 
Was hast du den gegen ExitWindowsEx:
www.delphi-library.d...neustarten_8272.html
Ein externes Programm aufzurufen ist die schlechteste Möglichkeit, so was zu machen. Ich hab selbst unter Win2k komischerweise keine shutdown.exe (Oh, im Resource Kit ist eine...). Wenn es API-Funktionen gibt, dann benutzt man API-Funktionen.

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 09.07.07 21:26 
naja ich wollt das nur ganz einfach machen, da ich das sonst unter start ausführen selbst in sekunden eingebe, kann ja nich so schwer sein ;)
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Do 12.07.07 11:48 
user profile iconkens hat folgendes geschrieben:
kann ja nich so schwer sein ;)

So wie es aussieht scheint es für Dich ja schon etwas schwerer zu sein. ;-)

Also probiere jetzt bitte mal den Sourcecode von hier:

www.delphi-library.d...neustarten_8272.html

_________________
Ein Nutzer der Ecke ;-)
Calculon
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 676

Win XP Professional
Delphi 7 PE, Delphi 3 PRO
BeitragVerfasst: Do 12.07.07 12:28 
Um mal zu deinem ursprünglichen Code zurückzukommen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject); 
var a,b,c : integer;
str: string; 
begin 
a :=  StrToInt(edit1.text); 
b :=  StrToInt(edit2.text); 
c := a*3600+b*60;
str := '-s -t ' + inttostr(c);
ShellExecute(0Nil,'C:\WINDOWS\system32\shutdown.exe'PChar(str)nil, SW_NORMAL); 
end;


Gruß

Calculon
--
kens Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 15.07.07 12:50 
dankeeeeeeeeeeeeeeeeeeeeee @ calculon :D

zu matin: hab ewig nicht mit delphi zu tun gehabt und dachte ich hab es hier mit profis zu tun die helfen und nich nerven (nich so böse gemeint wies klingt) ... in meinen augen sah das ganz einfach aus und aus fehlern lernt man ja, aber mich da durch ewige tutorials zu schlagen nur um eine funktion zu erstetzen die ich schon habe ist in meinen augen zeitverschwendung.


wenn mir jetzt noch jemand sagt, warum die exception nicht funktionert bin ich wunschlos glücklich :D

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c : integer;
str: string;
begin
 try
  a :=  StrToInt(edit1.text);
  b :=  StrToInt(edit2.text);
  c := a*3600+b*60;
  if c <= 299 then
   begin
    str := '-s -t ' + inttostr(c);
    ShellExecute(0Nil,'C:\WINDOWS\system32\shutdown.exe', PChar(str), nil, SW_NORMAL);
   end
  else
   begin
    ShowMessage ('Wert ist zu klein! Mindestens 5 Minuten');
    edit1.Text := 'Stunden';
    edit2.Text := 'Minuten';
   end;
 except
    ShowMessage ('Keine erlaubte Eingabe!');
    edit1.Text := 'Stunden';
    edit2.Text := 'Minuten';
 end;
end;
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 16.07.07 16:14 
user profile iconkens hat folgendes geschrieben:
dankeeeeeeeeeeeeeeeeeeeeee @ calculon :D

zu matin: hab ewig nicht mit delphi zu tun gehabt und dachte ich hab es hier mit profis zu tun die helfen und nich nerven (nich so böse gemeint wies klingt) ... in meinen augen sah das ganz einfach aus und aus fehlern lernt man ja, aber mich da durch ewige tutorials zu schlagen nur um eine funktion zu erstetzen die ich schon habe ist in meinen augen zeitverschwendung.


wenn mir jetzt noch jemand sagt, warum die exception nicht funktionert bin ich wunschlos glücklich :D

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c : integer;
str: string;
begin
 try
  a :=  StrToInt(edit1.text);
  b :=  StrToInt(edit2.text);
  c := a*3600+b*60;
  if c <= 299 then
   begin
    str := '-s -t ' + inttostr(c);
    ShellExecute(0Nil,'C:\WINDOWS\system32\shutdown.exe', PChar(str), nil, SW_NORMAL);
   end
  else
   begin
    ShowMessage ('Wert ist zu klein! Mindestens 5 Minuten');
    edit1.Text := 'Stunden';
    edit2.Text := 'Minuten';
   end;
 except
  on e: exception do
    begin

     ShowMessage ('Keine erlaubte Eingabe!');
     edit1.Text := 'Stunden';
     edit2.Text := 'Minuten';
   end;
 end;
end;

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.