Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi DOS-Befehle in Delphiprogramm verwenden? (https://www.delphipraxis.net/8625-dos-befehle-delphiprogramm-verwenden.html)

Illuminator-23-5 9. Sep 2003 10:25


DOS-Befehle in Delphiprogramm verwenden?
 
Wie kann ich in einem Delphi-programm DOS-befehle verwenden und rausfinden, welche werte zurückgegeben wird?

timmy443 9. Sep 2003 13:13

Re: DOS-Befehle in Delphiprogramm verwenden?
 
Hi, ich hab selbst nie damit gearbeitet, aber ich glaube bei der JEDI VCL ist so eine Komponente dabei: JvCreateProcess. Von dort aus könnte man über c:\Windows\System32\cmd.exe die Konsole ansteuern und sie dazu bewegen Befehle auszuführen... Aber wie gesagt kenne ich mich damit nicht genauer aus. :gruebel:

Hansa 9. Sep 2003 13:34

Re: DOS-Befehle in Delphiprogramm verwenden?
 
Das geht mit
Delphi-Quellcode:
Shellexecute
.

Illuminator-23-5 9. Sep 2003 13:46

Re: DOS-Befehle in Delphiprogramm verwenden?
 
soweit komm ich:
ShellExecute(0, nil, PfadDerCMD, nil, nil, sw_Hide);
aber wie kann ich dann den Befehl einbinden?
und wenn ich z.B. einen Ping sende, kommen ja bestimmte Daten zurück, wie kann ich die dann abfragen?


in welcher Unit liegt eigentlich die ShellExecute-funktion?

Hansa 9. Sep 2003 13:53

Re: DOS-Befehle in Delphiprogramm verwenden?
 
Da wo "PfadDerCmd" steht, setze da mal 'C:\MeinProgramm\programm.exe' ein. Bzw. wie das ganze bei Dir heißt.

Stop ! das SW_HIDE vorsichtshalber durch SW_SHOW ersetzen.

The-X 9. Sep 2003 13:55

Re: DOS-Befehle in Delphiprogramm verwenden?
 
Ich weiss es zwar nicht mehr genau,
aber es ging irgendwie mit der Funktion CreatePipe,
hatte da auch mal ein Demo in VB

Hab wohl leider atm nicht die Möglichkeit, das hier zu posten, weil ich nicht zuhause bin. Werde es aber mal selber versuchen und dann asap hier posten :coder:

Illuminator-23-5 9. Sep 2003 13:57

Re: DOS-Befehle in Delphiprogramm verwenden?
 
ich versteh nicht ganz:
wenn ich das dann in das OnCreate-Event des Forms reintun würde, dann würde sich das Programm rekursiv aufrufen (oder hab ich was falsch verstanden)?!?


in welcher Unit liegt die ShellExecute-funktion?

The-X 9. Sep 2003 14:07

Re: DOS-Befehle in Delphiprogramm verwenden?
 
ShellExecute unterliegt (afaik) der Unit ShellApi

:roll: und als PfadDerCMD müsste dann entsprechend dem gegebenen Beispiel Ping.exe rein :nerd:

[Edit1]
Für manche Sachen hab ich 'ne Api-Sammlung mit Beispielen für VB,
hab auch leider bisher noch kein Äquivalent dazu für Delphi gefunden :(
aber ich suche weiter :D
[/Edit1]

[Edit2]
Die Sammlung findet man unter www.allapi.net und nennt sich Api-Guide
[/Edit2]

Nisbo 10. Mär 2005 14:50

Re: DOS-Befehle in Delphiprogramm verwenden?
 
Moin Moin

erstmal vorne Weg, die Suchfunktion betätige ich jetzt schon seit Stunden bei Google und in dieversen Boards nur leider finde ich nicht zu einem Ergebnis :(

Ich nutze nämlich nicht Delphi sondern Lazarus ist aber auch Pascal und ähnlich Delphi:
http://www.lazarus.freepascal.org/index.php

Das Problem was ich jetzt habe ist das:

// Notepad oeffnen
procedure TForm1.MenuItem21Click(Sender: TObject);
var sw_show: longint;
begin
Shellexecute(Application.Handle,'open',PChar('C:\W INNT\notepad.exe'),nil,nil,sw_show);
end;

nicht funktioniert, C:\WINNT\notepad.exe ist aber bei W2K richtig ;)

jetzt fragt ihr euch bestimmt warum ich var sw_show: longint; gemacht habe ?

ganz einfach weil sonst der Compiler meckert, oder was muß man da einbinden ? die ShellAPI ist eingebunden unter uses

notepad erscheint einfach nicht, ist aber in der Prozessliste über den Taskmanager zu sehen

ich vermute mal das es an sw_show liegt, kann den fehler aber nicht weiter eingrenzen

PS ich beschäftige mich erst seit 3 Tagen mit dem Thema (vorher nur PHP)

Nebenbei mal noch ne andere Frage die hie rnicht so ganz passt ich mich aber auch schon todgesucht habe

ich habe jetzt z.B. in Edit1.Text einen Inhalt drinn, den möchte ich überprüfen möchte ob dort z.b. ABC drinn vorkommt, wie stelle ich das am besten an ? habe da kein so richgtiges schlagwort für die suche gefunden und klicke mich so durch ganzen seiten durch

Mattin 10. Mär 2005 15:03

Re: DOS-Befehle in Delphiprogramm verwenden?
 
Hallo,

versuchs mal so

Delphi-Quellcode:

uses ShellApi;

   ShellExecute(Application.Handle, 'open', PChar('Notepad.exe'), nil, nil, SW_SHOWNORMAL);
Zitat:

Shellexecute(Application.Handle,'open',PChar('C:\W INNT\notepad.exe'),nil,nil,sw_show);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.
Seite 1 von 2  1 2      

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