Delphi: Aufruf von Konsolen-Programm

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
photor
Beiträge: 190
Registriert: Mo 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux (L 2.0.8 FPC 3.0.4)
CPU-Target: 64Bit

Delphi: Aufruf von Konsolen-Programm

Beitrag von photor »

Hallo Forum,

ich muss mich leider wieder mit einer Windows/Delphi-Frage an Euch wenden:
Wir haben in der Firma ein in Delphi programmiertes Tool, mit dem man Ergebnisse (FEA) aus mehreren (sehr propriäteren) binären Files auslesen und kombinieren lassen kann. Das extrahieren der Ergebnisse aus dem Binärfile geht (nur) mittels eines Kommandozeilen-Programms, das zum Lieferumfang des FE-Berechnungsprogramms gehört und bisher so aufgerufen wurde:

Code: Alles auswählen

pldump blahfile.txt

wobei blahfile.txt die Eingaben enthält, die man sonst interaktiv eingeben müsste. In unserem Tool wurde der (mehrfache) Aufruf im wesentlichen mittels WaitForSingleObject realisiert und funktionierte auch recht gut (wenn gewünscht, kann ich Code-Schnipsel nachliefern - ist aber vielleicht nicht nötig).

ABER: jetzt hat der guteste Lieferant/Hersteller der Berechnungssoftware etwas an seinem Kommandozeilen-Tool geändert, so dass man es nun wie folgt auf der Kommandozeile (AKA cmd.exe) aufrufen muss:

Code: Alles auswählen

pldump < blahfile.txt > blah.out
- also mit Ein/Ausgabe-Umleitung so, wie es unter Unix-artigen Kommandozeilen üblich ist.

Schön: aber leider bekomme ich das nicht aus dem Delphi-Tool hin - Grund ist höchst wahrscheinlich mein begrenztes Wissen - ich denke schon, dass es möglich sein sollte. Wie lässt sich solch ein Kommando aus Delphi heraus starten (und solange warten, bis es fertig ist, da ja noch weitere Aufrufe erfolgen sollen)? Ich habe leider keine Beispiele gefunden, die eine solche Eingabe/Ausgabe-Umleitung aus Delphi heraus nutzen. Habt Ihr einen Tipp/Hinweis/Link für mich.

Dankbar für etwas Input,

Photor


PS: leider habe ich hier @home weder Windows noch Delphi zum experimentieren. Daher meine Frage an die "experienced user" auf diesem Gebiet hier.
PS2: von dem Lieferanten der Berechnungssoftware kommt nur sehr begrenzte Hilfe :(

Mathias
Beiträge: 4848
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Delphi: Aufruf von Konsolen-Programm

Beitrag von Mathias »

Du könntest innerhalb deines Programm ein BAT erzeugen mit dem Inhalt

Code: Alles auswählen

pldump < blahfile.txt > blah.out

Und anstelle von pldump rufst du die BAT auf.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Antworten