![]() |
Pipes in Turbo Pascal
Wie leite ich möglichst sauber die Ausgabe eines externen Programms in eine Textdatei um?
Ich habe bisher her schon das "umbiegen" von INT 29h in Kombination mit Assign(OUTPUT, ) versucht, damit kann man anscheinend aber nur die Bildschirmausgabe eingrenzen/beeinflussen. Wenn ich den Kommandointerpreter (COMMAND.COM) direkt per INT 2Eh anspreche, kann ich zwar ">" wieder verwenden, binde ich meine EXE dann in eine .BAT-Datei ein, tauchen auch hier Probeme auf. Beides ist eben auch unsauber, weil es über die Interrupts läuft. |
Re: Pipes in Turbo Pascal
Turbo Pascal ist für DOS konzipiert, und Pipes wurden erst mit Windows eingeführt. Falls deine Programme nicht unbedingt unter DOS laufen müssen, erstelle dir doch mit Delphi eine Konsolenapp. Da du es dann mit Delphi(nicht DOS) machst, kannst du auch Pipes verwenden.
|
Re: Pipes in Turbo Pascal
anstatt einer ( named ) pipe nimm doch eine datei, ist schliesslich nichts anderes - im grundprinzip -
|
Re: Pipes in Turbo Pascal
Zitat:
Leider kann ich auch nicht zur Lösung beisteuern, aber immerhin gibt es noch andere die das kennen :mrgreen: ...:cat:... P.S.: Unter DOS dienten Pipes zur Umleitung der Ausgabe von Kommandozeilentools. |
Re: Pipes in Turbo Pascal
Zitat:
Code:
, so wird es gedruckt.
DIR *.pas >prn
Allerdings verstehe ich nicht, was du mit "externem Programm" meinst. Etwa ein fremdes, ohne Source ? Dann siehts eher echt schlecht aus. :mrgreen: |
Re: Pipes in Turbo Pascal
Mit externem Programm meine ich etwas, was man normalerweise per Exec() ausführt, eben "dir *.* >test.txt" oder in meinem Fall konkret "extract.exe /D /A BASE4.CAB>base4.lst".
Das mit den Interrupts ist nur uralter Code, den ich bei mir gefunden habe, ich frage ja deshalb, weils eben nich besonders gut ist. Das > funktioniert eben bei Exec() nicht, zumindest bei mir nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz