Autor Beitrag
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: Do 13.02.03 17:34 
Hallo Leute.

Ich öffne ein externes Dos-Zeilenprogramm mit ShellExecute.
Nun wartet dieses auf bestimmte Eingaben á la:
Zitat:
-- Lesen [1]
-- Schreiben [2]
-> Eingabe (0 für Exit) : _

Wie kann ich nun diesem Programm bzw dem Dos-Fenster diese Eingabe aus meinem Prog heraus zusenden?

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.02.03 17:44 
Das geht über Pipes. Mit der einen sendest du deine Befehle und mit der anderen empfängst du das Ergebnis. Frag mich aber bitte nicht nach Quellcode, habe es selber noch nie gemacht.
Wolff68 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: So 16.02.03 16:11 
THX Luckie.

Schade, daß das wohl sonst auch noch keiner gemacht hat.
Wollte eigentlich nur ein kleines Tool schreiben. Nicht eine Wissenschaft draus machen, und mich erst mit Pipes vertraut machen. :(

Oder hat mir hier jemand eine Procedure für sowas parat?

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 16.02.03 20:42 
Das haben schon mehrere gemacht. Wenn eine Person das noch nicht durchexerziert hat, heißt das noch lange nicht, dass alle es noch nie gemacht haben. Schon aus dem Grund das diese Möglichkeit besteht, zeigt, dass jemand daran gedacht hat und sicherlich auch eine Testfunktion dafür geschrieben hat (das zielt auf die MS Entwickler ab). Nebenbei ist sogar im PSDK bzw. im veralteten Win32SDK ein Beispiel für dein Vorhaben enthalten. Man muss es nur finden und dann noch C/C++ lesen können.

In der JCL ist eine solche Funktion enthalten.

[EDIT]Sorry. Die JCL Funktion kann nur Daten auslesen[/EDIT]

_________________
Ist Zeit wirklich Geld?


Zuletzt bearbeitet von AndyB am Mo 17.02.03 12:04, insgesamt 1-mal bearbeitet
Tom
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mo 17.02.03 11:31 
Wolff68 hat folgendes geschrieben:
Wie kann ich nun diesem Programm bzw dem Dos-Fenster diese Eingabe aus meinem Prog heraus zusenden?

Wenn Du nur eine Eingabe hast:
1) DOS-Fenster mit ShellExecute (CreateProzess) starten
2) Parameter übergeben:
ECHO 1 | TollesProgramm.exe

Und natürlich den Pfad setzen.

Das ganze funktioniert allerdings nur bei einer Abfrage.

Gruß Tom
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Mo 17.02.03 18:37 
da gibts sogar ne kompo dazu die dir die sache leichter macht:

maxxdelphisite.free.fr/comp.php

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Mo 17.02.03 18:40 
die komponente heißt

TDosCommand

hab ich vergessen zu erwähnen :roll:

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
LLiinnuuxx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Windows: XP;98 Linux(Suse):6.2;9.0
D3; D6
BeitragVerfasst: Di 11.01.05 17:46 
Kann man mit der TDosCommand Komponente einen ftp Promt aufmachen bzw. einen anderen Promt in den ich x linen text eingebe und die Ausgaben bekomme?

Wenn das geht kann dan jemand mal ein Beispiel für Folgende Befehle die ich in die Dos Zeile schreiben würde sagen?

-ftp
-open localhost
-close
-quit


^oder ähnlich?

Schon mal danke im vorraus ich habe die Komponente mal vor ein oder zwei Jahren gehabt und ich weiß das ich mit der nicht zurecht kam!
LLiinnuuxx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Windows: XP;98 Linux(Suse):6.2;9.0
D3; D6
BeitragVerfasst: So 16.01.05 14:17 
Hi ich habe jetzt die Komponente im Griff. Funktioniert auch ich habe nur ein Problem!

Wenn ich mit der DosCommand komponente die Command.com ausführe habe ich eine ganz "normale" Dos Shell!

Nu starte ich über meine eigene DosShell ein QBasic Programm (es spielt keine Rolle ob es schon als Exe compiliert ist oder ob ich es erst bei ausführen compiliere). Aber die Komponente bekommt den Text nicht!

Woran kann das liegen!

Selbst be dem leichtesten QBasic klappt das nicht!
z.B:
ausblenden Quelltext
1:
2:
Input "Gebe sie bitte was ein", $i
Print $i


Ich bekomme nichts angezeigt!
Ich könnte mir vorstellen(da es in der echten DosShell funktioniert), dass die QBasic Datei einen anderen ein und ausgabe Verfahren benutzt als die Komponente und so reden sie an einander vorbei!

Ich brauch aber jetzt die möglich keit diese QB prog zu starten ihm sachen zugeben und die Ausgabe zulesen!

Wie kann ich das machen?

Ich danke schon einmal im vorraus!

Es wäre echt sehr nett wenn sich jemand mal daran versuchen würde!
Ich verstehe das nähmlich nicht und bin nur ein normaler Einsteiger mit schwierigen Fragen!

Kann mir keiner helfen? :cry: :?:
LLiinnuuxx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Windows: XP;98 Linux(Suse):6.2;9.0
D3; D6
BeitragVerfasst: Mo 17.01.05 16:15 
Kann mir keiner helfen?
Wie wird den in der TDosCommand Komponente die Shell abgefragt kann man das nicht abändern so, dass das klappt?

Ich wäre über eine Antwort sehr erfreut!

An alle Spezialisten in diesem Gebiet:
Last euch doch bitte dazu herab euch meinem Problem anzunehmen!