AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pipes in Turbo Pascal

Ein Thema von scp · begonnen am 3. Jan 2005 · letzter Beitrag vom 3. Jan 2005
Antwort Antwort
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#1

Pipes in Turbo Pascal

  Alt 3. Jan 2005, 13:39
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.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Pipes in Turbo Pascal

  Alt 3. Jan 2005, 13:42
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.
  Mit Zitat antworten Zitat
Snoop007

Registriert seit: 14. Jan 2003
331 Beiträge
 
Delphi 6 Personal
 
#3

Re: Pipes in Turbo Pascal

  Alt 3. Jan 2005, 13:59
anstatt einer ( named ) pipe nimm doch eine datei, ist schliesslich nichts anderes - im grundprinzip -
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Pipes in Turbo Pascal

  Alt 3. Jan 2005, 14:26
Zitat von Dax:
Turbo Pascal ist für DOS konzipiert, und Pipes wurden erst mit Windows eingeführt.
Die die ihr meint schon, aber er spricht von den alten UNIX/DOS Pipes

Leider kann ich auch nicht zur Lösung beisteuern, aber immerhin gibt es noch andere die das kennen

......

P.S.: Unter DOS dienten Pipes zur Umleitung der Ausgabe von Kommandozeilentools.
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Pipes in Turbo Pascal

  Alt 3. Jan 2005, 15:05
Zitat von scp:
...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.
Was veranstaltest du denn da mit den Interrupts ? Das > ist eben genau für die Bildschirmausgaben gedacht, damit man die auch in eine Datei/Drucker usw. umleiten kann. Das ganze funktioniert nur mit Standard-I/O also writeln, readln usw. Schreibe ich z.B.
Code:
DIR *.pas >prn
, so wird es gedruckt.

Allerdings verstehe ich nicht, was du mit "externem Programm" meinst. Etwa ein fremdes, ohne Source ? Dann siehts eher echt schlecht aus.
Gruß
Hansa
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#6

Re: Pipes in Turbo Pascal

  Alt 3. Jan 2005, 16:25
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz