Autor Beitrag
Andysaw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Di 03.12.02 20:51 
hi,

Für alle die es nicht mehr wissen: Ich habe ein Dosproggy und mein Delphi proggy. Das Dosp überschreibt regelmässig eine Datei mit daten. Zwischen den Schreibvorgängen muss mein Delphi lesen.(in der Dat)

(Das alles jetzt geklärt,ich kopier die dat ...)

Aber wenn ich über delphi das doproggy starte (ja , auch die früher angesprochene parameterübergabe funktioniert) beendet es sich (oder delphi ) sofort wieder , ohne Fehler angabe. Ich möchte es aber unbedingt über delphi starten.

zum dosp:
es ist nicht änderbar ich muss eine eingabe simulieren in form :
ausblenden Quelltext
1:
echo | m1 dosproggy.exe					

m1 wäre dann meine parameterdatei
also er fragt : gib mir datei !
ich sage : m1 [ENTER]
und dann gehts los...

Wenn mir einer helfen könnte wär es echt super...

MfG
Andy

(04.12. 08:54 Tino) Titel geändert.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.12.02 03:08 
Wie wäre es mit Shellexecute?
Andysaw Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mi 04.12.02 14:02 
hi,

ja ich arbeite mit shellexecute. aber ich muss ja die eingabe simulieren (keine parameterübergabe) als ob ich "m1" eingebe und enter drücke.
dafür hab ich mir nun eine start.bat geschrieben mit dem code von oben. wenn ich unter der eingabeauforderung die bat starte funkst alles top. starte ich mit shellexecute mit delphi beendet es sich oder delphi beendet es(keine ahnung).

ok, jetzt müssten alle infos da sein..

Ich bitte um Hilfe.

MfG
Andy
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.12.02 16:46 
Wenn du die Batch-Datei mit deinem Delphi-Programm startest, dann geht es nicht? Kann ich gar nicht glaubern.
Andysaw Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mo 09.12.02 18:26 
doch leider is das so.... das proggy beendet sich gleich wieder.. Aber ich bekomm wohl ne methode dafür... hab ein neues prob (hoffentlich das letzte) ich mach nen thread auf..

MfG
Andy
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mo 09.12.02 20:20 
hmmm, Batchdateien sind ja eigentlich keine Programme.
Ich rate jetzt einfach mal ins Blaue: Probier mal mit Shellexecute command.com (unter Win9x, das XP-Äquivalent kenn' ich nicht) aufzurufen, mit deiner Batch-Datei als ersten Parameter. Vielleicht klappt's dann. Wenn nicht, weiß ich auch nicht weiter. Ich such mal auf meiner DOS-Partition nach einem Interpreter für solche Sachen, der resistent geladen wird, aber probier's erstmal mit der command.com aus...

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 09.12.02 20:25 
Wenn du die Batch-Datei als zu öffnendes Programm bei Shellexecute angibst, sollte eigentlich der entsprechende Komamandointerpreter gestartet werden. Also unter Win9x command.com und unter NT basierenden System cmd.exe.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Di 10.12.02 16:37 
eigentlich schon.
Daher finde ich das Verhalten auch etwas seltsam. Aber einen Versuch wäre es doch wert, oder?

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Andysaw Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Di 10.12.02 16:39 
Hi,

also wenn ich die BatchDatei als zu startendes Program unter Shellexecute angebe wird das DosProgramm gleich nach dem start beendet. Ich habe es mit command.com in shellexecute probiert....nix! Also er startet command.com soweit alles toll aber ich kann die *.bat nicht starten , nur die original *.exe und da muss ich wieder meine eingabe tätigen und mit enter bestätigen. Ich muss das doch irgendwie schaffen ...

Ich hoffe ihr habt Vorschläge

MfG
Andy
S - tefano
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Do 12.12.02 20:17 
Hi,

hm, weiß jetz nich ob ich das Problem jetz richtig verstanden habe, aber wenns darum geht dass dein Batchfile direkt nach dem Start beendet wird was vermutlich daran liegt, dass du den Parameter nich übergeben kannst,
dann muss man sich nen anderen Weg ausdenken dem Batchfile zu sagen was es machen soll.
Da würd ich dann z.B. diesen Weg gehen:
Anstatt dem Dosprog per Parameter zu sagen, was es machen soll, könntest du doch alle benötigten Infos für dein Dosprog in ne (beispielsweise) Textdatei schreiben - und dann dein Dosprog so umschreiben, dass es nach Parametern nich mehr über paramstr sucht, sondern sie sich aus der dafür angelegten Datei rauslädt (wenn sowas bei Batchfiles geht, kenn mich damit nich aus).
Vielleicht klappts dann, vielleicht auch nich... wie gesagt, kenn mich mit Batchfiles nich aus.

Bis dann,

S - tefano

_________________
Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
S - tefano
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Do 12.12.02 20:19 
Oh, wo ich grad nochmal gründlich nachles fällt mir auf dass ich den Zusammenhang nich gesehen hab.
Naja, aber der Weg über die Datei ist doch trotzdem noch nen Versuch wert, oder?

_________________
Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
Andysaw Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Do 12.12.02 20:30 
hi,
Ja sorry ich hab wieder vergessen zu sagen dass das dosproggy nich änderbar ist....

MfG
Andy
S - tefano
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Do 12.12.02 20:46 
Ahso...
hm...
Und wenn du per Shellexecute ein neuen Eingabeaufforderungsfenster öffnest, und dann vortäuschst, du hättest ganz normal alles eingegeben?
Ich glaub, mit keybd_event kann man sowas machen.
Da könnte man dann einfach nacheinander alle zu drückenden Tasten systemweit "broadcasten".
Ok, isn bissken - naja - improvisiert, rustikal etc. aber könnte klappen.
Ich hab dazu mal n Programm geschrieben, aber die Sources sind or n paar Monaten einem sehr dummen Fehler meinerseits zum Opfer gefallen.
Am besten suchst du - sofern dir diese Methode gefällt - in der Delphi Hilfe nach keybd_event und nach VirtualKeys (ne Liste der Werte, die die einzelnen Tasten vertreten).

Bis denn,

S - tefano

_________________
Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
vandy59
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 16.12.02 10:47 
Titel: Vielleicht so ?
"dosproggy < eingabe.txt"
Habe ich vor einige jahren gebraucht beim starten eines dos programm.
Dir eingabe war in den form:

text
-enter-
-enter-
-enter-
text


Succes
Andysaw Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mo 16.12.02 22:46 
hi,
also das letzte hab ich noch nicht ausprobiert,aber versteh es auch nicht ganz.....

dosproggy < eingabe.txt wohin damit ?
eingabeaufforderung?ins shellexecute?
sonstwohin?und wohin dort?

text
-enter-
text

wohin soll das ?
in die eingabe.txt ?
also steht bei mir nur "m1" drin?


Bitte etwas ausführlicher...(und vielen Dank für den neuen Vorschlag)

MfG
Andy
JeanvanHees
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 146

win 2000
D6 Pers
BeitragVerfasst: Di 17.12.02 08:48 
:wink2: Morgen,

Du solltest einen ShellExecute procedur haben mit einen Wait.
Es kann nämlich sein das das programm einfach weitergeht und dan zu ende läuft und das doscommando noch nicht ist ausgeführt.
Es muß hier im forum noch irgendwo einigen alten threads geben wo so eine procedur drinsteht.
Wenn du es nicht findest laß es mir wissen...ich hab vielleicht noch irgendwo so etwas, aber dann muß ich schon suchen :|

_________________
Cause even though I know things won't get any better, they can certainly never get much worse!