String an Konsole übergeben und auslesen
-
Hallo zusammen

Ich habe ein Problem und hoffe hier kann mir geholfen werden.
Ich möchte den String aus Edit1->Text an ein erstelltes Konsolenfenster übergeben und die Ausgabe in einem Lable oder so anzeigen. Bisher habe ich es so gemacht:AnsiString go = ("/k " + Edit1->Text); ShellExecute(Null, "OPEN", "CMD", go.c_str(), NULL, SW_SHOWNORMAL);So das erste Problem ist, dass ich für jeden neuen Befehl ein neues Konsolenfenster erstellen muss. Dementsprächend ist das Navigieren per cd sehr schlecht...
Wie schaffe ich es jetzt, dass ich direkt aus Edit1->Text den Befehl an das Konsolenfenster sende und ausführe? Per system() ist ja das gleiche Problem.Das zweite Problem ist wie schaffe ich es die Ergebnisse wieder auszulesen??
Vielen Dank!
mfg
mich0r
-
Zu Frage eins: Schau Dir die Parameter von ShellExecute in der Hilfe an.
Zu Frage zwei: Das Stichwort heisst pipe. Musst Du mal google oder die Suchfunktion des Forums bemühen.
-
Hi!
Zu Eins:
In der Borland-Hilfe steht sogut wie nix über ShellExecute drin.Parameter:
hwndParent
0 (NULL) oder Handle des Hauptfensters. Wird nur für Fehlermeldungen verwendet, nicht für das auszuführende Programm.
cVerb
"open", um eine Datei zu öffnen,
"print", um eine Datei auszudrucken.
cFileName
(Pfad und) Dateiname der auszuführenden oder zu öffnenden Datei,
cParameters
(Optional) Parameter.
cDirectory
(Optional) Arbeitsverzeichnis.
nCmdShow
Wie soll das neue (Programm-) Fenster angezeigt werden?
----------------------------------------------------------------Das hilft mir nicht gerade weiter
...Zu Zwei:
Bin noch auf der Suche.mfg mich0r
-
Hallo,
Da gibst was in der FAQ "externes programm verwenden"
sowie hier
http://msdn2.microsoft.com/en-us/library/ms647732.aspx