Hi,
ich möchte mit/oder in einem DOS-Programm ( unter Turbo-Pascal geschrieben ) alle Druckeranweisungen
in eine Textdatei umleiten.
Kennt sich da noch jemand aus ?
Gruß Missi1
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Hi!
Hast du den Pascal-Quelltext und einen Turbo-Pascalcompiler um das Programm neu zu compilieren? Oder suchst du eine Möglichkeit die Druckerausgabe in eine Datei umzuleiten (unter DOS oder in einem DOS-Fenster von Windows)?
Wenn der erste Fall zutrifft, du alsod as Programm selbst ändern kannst und willst, dann würde ichd eine Frage ins Programmierbrett verschieben.
Bis dann
Andreas
Hallo Andreas,
mein Turbo-Quelltext liegt vor und kann neu Compiliert werde.
Ich werde also mal das Problem ins Programmbrett legen.
Aber in der Antwort schimmert durch , dass man aus DOS heraus
die Druckeranweisung umleiten kann.
Falls möglich wäre ich über einem Hinweis sehr zufrieden.
Gruß Missi1
Hi!
Mit der Umleitung der Druckausgabe bin ich mir nicht (mehr) ganz sicher, da muss ich mal Literatur wälzen...
Hmm, CTTY leitet die Standardausgaben um, das bringt uns nichts. Mit MODE kann zwar LPT auch COM umleiten und Schnittstellenparameter variieren, aber nicht direkt LPT1 in eine Datei umleiten.
Ich verschiebe deinen Frage in das Programmierbrett, du brauchst sie also nicht neu einzustellen.
Bis dann
Andreas
Hi!
Du müsstest im Quelltext versuchen herauszufinden, wie die Druckausgabe arbeitet. Ich vermute,d er einfachste Weg wird gewesen sein, einfach statt in eine Datei zu schreiben, LPT1 als Datei anzugeben, den Rest macht dann DOS.
Durchsuche bitte einmal den Quelltext nach Assign()-Kommandos.
Hmm, das ist schon eine Weile her...
-> http://www.webplain.de/foren/read.php?1,2637,2646,quote=1
Da wird erklärt wie man drucken kann. Offenbar wird der vordefinierte Fileheader Lst verwendet. Schau mal nach, ob der im Quelltext zu finden ist.
Bis dann
Andreas
Hallo Andreas,
vielen Dank für den Hinweis , ich werde mit LPT1
mal experimentieren .
Leider ist die Turbo-Pasbal Zeit bei mir auch schon fast 10 Jahre her.
War 'ne schöne Zeit , na ja.
Ich melde mich dann wieder.
Gruß Missi1
Hallo Andreas ,
der Hinweis mit assign(lst,'otto.txt') und rewrite(lst)...(wobei lst eine simple Textvariable ist ) ging alles ruck zuck in die testdatei 'Otto.txt'.
Vielen Dank nochmal für den Hiweis.
Jetzt kommt allerdings der Pferdefuß.
Die Textdatei kann man zwar ausdrucken ,allerdings werden die ganzen Steuerzeichen für einen DOS_Drucker nicht richtig erkannt und von einem unter Windows-Treibern installierten Drucker schon garnicht nicht ausgeführt.
Jetzt geht die Suche weiter ; wo findet man heute noch eine Epson-Zeichesatz erkennenden Drucker ? HP-Drucker bis zu 900er Reihe konnten das noch . Diese Drucker findet man ja wohl nur noch auf dem Friedhof.
Gruß Missi1.
Hi!
Auaha! Das wird in der Tat schwierig, einen Drucker zu finden, der noch ESC/P unterstützt.
Schau mal hier, dass habe ich mit einer Googlesuche aufgestöbert: http://www.directtools.de/directesc/index.htm
Eine Art"Ghostscript für ESC/P", wenn ich das richtig verstehe. Die Lösung ist allerdings nicht kostenlos.
Generell müsstest du überlegen, was du mit dem "Ausdruck" anfangen willst. Evtl. ist es einfacher, die ESC/P-Sequenzen aus dem Ausdruck zu entfernen und nur die Nettodaten zu nutzen. Evtl.kann man die dann in Word&Co aufbereiten und drucken.
Bis dann
Andreas
Hallo Andreas,
nochmals Dank für die Hiweise.
Das von mir vor 10-11 Jahren geschriebene Pascalprogramm ist noch im Einsatz ( scheinbar erfolgreich ) und druckt parallel aus sehr sehr vielen Proceduren direkt an einen Epson Matrix-Drucker mit Durchschlägen.
Der Wunsch des Benutzer ist aber mehrere "saubere" Kopien zu drucken ist verständlich.
Das Umschreiben des Quelltextes wäre ein Wahnsinn.
Da der Ausdruck als Datei ja jeztz mit allen Informationen vorliegt,versuche ich hiermit weiterzukommen.
Gruß Missi1.