Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - [VisualCLX] Konsolen-Programme und Output


Burgpflanze - Do 05.09.02 12:58
Titel: Konsolen-Programme und Output
Hi,

ich habe folgendes Problem:

Mein Programm soll vorhandene Konsolen-Tools aufrufen. Allerdings muss ich den Output dieser Tools abfangen, da ich ihn in meinem Programm auswerten muss.

Wie geht das mit Kylix?


Gruss, Burgpflanze


Klabautermann - Do 05.09.02 13:56

Hallo,

ersteinmal gibt es den unterschied zwischzen Konsolen und X-Window anwendungen nicht in dem Maße wie unter Windows. Der Unterschied der Beiden Kylix-Anwendungstypen besteht tatsächlich nur in der Ausgabe der Daten.

Unter UNIXartigen Betriessystemen ist es üblich, das man die Ausgabe eine Programmes umleiten kann. Dies nennt sich Piping (gab es weniger mächtig auch unter DOS). Ich denke dieser Technick kannst du dich bedien.
Nehmen wir an du rufst ls auf. Dann kannst du die Ausgabe von ls so in eine Textdatei umleiten:

Quelltext
1:
ls > test.txt                    

natürlich kannst du auch Parameter verwenden

Quelltext
1:
ls -al > test.txt                    

Eine soche Datei könntest du dann Problemlos auswerten.
Du kannst die Programmausgabe auch an ein Programm übergeben:
ls -al | sort wenn du dir lieber ein übergabeprogramm schreiben willst.
Beide techniken lassen sich natürlich kombinieren:

Quelltext
1:
ls -al | sort > test.txt                    


Gruß
Kalabautermann


mth - Do 05.09.02 21:05
Titel: Re: Konsolen-Programme und Output
Burgpflanze hat folgendes geschrieben:

Wie geht das mit Kylix?


Um die Ausführungen von Klabautermann in einen bequeme Funktion zu fassen: popen (& pclose). Zu finden in der Libc.

Beispielcode gibts z. B. hier:

http://community.borland.com/article/0,1410,27500,00.html

Die Manpage gibt dir auch sicher genügend weitere Informationen.