Hallo,
gibt es eine Möglichkeit, aus einem grafischen Lazarusprogramm ein Konsolenprogramm zu
starten und dessen Ausgabe abzufangen, so das ich diese .z.B. in einer Listbox darstellen kann?
mfg
FXMaveric
Konsolenprogramm starten und Ausgabe einlesen
-
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
Re: Konsolenprogramm starten und Ausgabe einlesen
TProcess heisst das Zauberwort, da gibt's ein Wiki für
http://wiki.lazarus.freepascal.org/Exec ... rograms/de" onclick="window.open(this.href);return false;
und funktioniert.
http://wiki.lazarus.freepascal.org/Exec ... rograms/de" onclick="window.open(this.href);return false;
und funktioniert.
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Konsolenprogramm starten und Ausgabe einlesen
Bei Tprocess beachten:
Die Process-Demo aus dem Lazarus-CCR SVN würde ich besonders ans Herz legen.Anmerkung: TProcess ist kein Terminal bzw. keine Shell! Weder können Scripte direkt ausgeführt werden, noch kann die Ausgabe mit Operatoren wie "|", ">", "<", "&" etc. umgeleitet werden
(Lazarus-Wiki)
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Konsolenprogramm starten und Ausgabe einlesen
Auch in Linux nicht ?creed steiger hat geschrieben:Bei Tprocess beachten: ... Weder können Scripte direkt ausgeführt werden,
In Linux startet das OS doch ein Script (also ein Textfile, das das executable Flag gesetzt hat) automatisch, indem es das in der ersten Zeile mit #! angegebene Programm mit der Scriptdatei als Parameter startet. Die aufrufende Applikation braucht gar nicht zu wissen, dass das ein Script ist. Auch der Output wird in Linux bei einem Script wie bei einem "echten" Programm nach stdout gelenkt. Da sollte die aufrufende Applikation auch nix von merken. In Linux sind Scripts eigentlich "normale" Programme.
Ich habe in Linux (bash-, perl-, haserl-, ...) Scripts schon als CGI-Programme und als mit xinetd gestartete TCP/IP-Server verwendet.
In Windows geht das, soweit ich weiß, nicht so schön.
-Michael
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Konsolenprogramm starten und Ausgabe einlesen
Es ist etwas missverständlich.Man kann Tprocess nicht wie die Shell scripten:
zB.
commandline:='cd /home/user;mplayer test.avi'
wird nicht funktionieren .
zB.
commandline:='cd /home/user;mplayer test.avi'
wird nicht funktionieren .