AGB  ·  Datenschutz  ·  Impressum  







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

DOS-Befehle in Delphiprogramm verwenden?

Ein Thema von Illuminator-23-5 · begonnen am 9. Sep 2003 · letzter Beitrag vom 10. Mär 2005
Thema geschlossen
Seite 1 von 2  1 2      
Illuminator-23-5
(Gast)

n/a Beiträge
 
#1

DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 10:25
Wie kann ich in einem Delphi-programm DOS-befehle verwenden und rausfinden, welche werte zurückgegeben wird?
 
timmy443

Registriert seit: 8. Sep 2003
7 Beiträge
 
#2

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 13:13
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.
 
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 13:34
Das geht mit Shellexecute .
Gruß
Hansa
 
Illuminator-23-5
(Gast)

n/a Beiträge
 
#4

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 13:46
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

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 13:53
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.
Gruß
Hansa
 
Benutzerbild von The-X
The-X

Registriert seit: 30. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#6

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 13:55
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
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
 
Illuminator-23-5
(Gast)

n/a Beiträge
 
#7

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 13:57
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?
 
Benutzerbild von The-X
The-X

Registriert seit: 30. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#8

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 9. Sep 2003, 14:07
ShellExecute unterliegt (afaik) der Unit ShellApi

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

[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
[/Edit1]

[Edit2]
Die Sammlung findet man unter www.allapi.net und nennt sich Api-Guide
[/Edit2]
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
 
Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#9

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 10. Mär 2005, 14:50
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
Jens
 
Mattin

Registriert seit: 4. Sep 2003
72 Beiträge
 
Delphi 7 Professional
 
#10

Re: DOS-Befehle in Delphiprogramm verwenden?

  Alt 10. Mär 2005, 15:03
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;
Mit freundlichen Grüßen
Mattin

http://www.martin-karwoth.de
 
Thema geschlossen
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:46 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