Entwickler-Ecke

Sonstiges (Delphi) - Variableninhalt an cmd weitergeben


q19 - Sa 26.06.10 11:18
Titel: Variableninhalt an cmd weitergeben
Hi,

ich bin grad am verzweifeln, weil die aufgabenstellung eigentlich so einfach erscheint, aber ich seit gestern diese nicht bewerkstelligen kann:

Delphi-Quelltext
1:
2:
3:
4:
var i:integer;
begin
i:=22;
WinExec('c:\myprogramm.exe',1);

Wie kann ich nun veranlassen, dass er den Integer-Variableninhalt(hier: 22) an das geöffnete programm weitergibt??
Das kann doch nicht so schwer sein, dass man Stunden daran sitzt?!!

Hab kebyd_event versucht aber kriege es nicht gebacken.

Bin über jeden Tipp dankbar :)

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Titel geändert, war: "Variableninhalt an cmd (so schwer?!)".


BenBE - Sa 26.06.10 11:29

1. WinExec ist Deprecated und sollte nicht mehr verwendet werden
2. 'Programm.exe' als Programm und dann '42' an der Stelle für die Befehlszeilen-Argumente z.B. übergeben. Siehe Code-Vervollständigung für die Funktion ShellExecute.

Alternativ kannst Du auch 'Programm.exe 42' aufrufen.

Die übergebenen Parameter bekommst Du dann mit ParamStr(1..N)


q19 - Sa 26.06.10 11:35

Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Hi, danke!

Gibts ein Parameter für "Enter"?
Weil ich bei der Eingabe von Parametern einige mit Enter abschließen muss.


BenBE - Sa 26.06.10 12:01

Du kannst bei Befehlszeilenargumenten dir definieren, was Du willst. Das Zielprogramm muss es nur verstehen.

Zum Thema Kommandozeile selber schreiben solltest Du hier im Forum ansonsten genug Themen finden.

Ansonsten: Wenn das andere Programm bereits läuft, bieten sich eher eine Reihe anderer Techniken zur IPC (Inter Process Communication) an, die wesentlich schneller gehen, als jedes Mal ein neues Programm zu starten.