Zitat von
Mattze:
Hallo,
...
Wie kann ich nun ein Text mit Tabulatoren (oder anderen Sonderzeichen) ordentlich drucken?
Hallo,
Drucker mit eigenem Tabulator gab es mal in der Steinzeit - heutige (Seiten-) Drucker bekommen vom Treiber ein grafisches Abbild der Seite geliefert, und das Programm, das diese Grafik erzeugt, vulgo Druckertreiber, ist für die Interpretation von Steuerzeichen verantwortlich. D.h. wenn du die Druckgrafik selbst erzeugst: du musst den Text parsen und bei einem TAB den Startpunkt X für das nächste DrawText auf den Wert des nächsten TabStopps setzen (Y bleibt ja gleich bei HT = horiz. Tab).
Ich habe dafür mal eine
Unit WinLineprinter oder so ähnlich geschrieben, die mit Text gefüttert wird und Zeilenvorschübe und Tabs durch entsprechende Positionsbefehle berücksichtigt, damit funktionierte ein Laserdrucker wie ein alter Zeilendrucker (z.B. Epson ESC/P auf HP Laser). Ist aber uralt, noch aus der Zeit vor Delphi 1, wird trotzdem noch verwendet. Der Drucker bekommt seinen Text per write und writeln.
Wo genau übrigens der nächste TabStopp liegt, ist eine ganz andere Frage, den muss man normalerweise auch erst programmieren, mit ESC-Sequenzen bei den alten Druckern und mit Windows Messages bei Listboxen.
Gruss Reinhard