Autor Beitrag
Burgpflanze
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 67

Windows2000 Prof. SP4
Delphi7 Enterprise
BeitragVerfasst: Do 05.09.02 12:58 
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

_________________
Gruss, Burgpflanze
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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:
ausblenden Quelltext
1:
ls > test.txt					

natürlich kannst du auch Parameter verwenden
ausblenden 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:
ausblenden Quelltext
1:
ls -al | sort > test.txt					


Gruß
Kalabautermann
mth
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: 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:

community.borland.co...0,1410,27500,00.html

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