![]() |
Drucken mit Tabulator?
Hallo,
mit Printer.Canvas.Textout... schreibe ich einen Text an die gewünschte Position. Gut! Allerdings wird ein Tabulator (#9) im Text nicht berücksichtigt, sprich "automatisch" ausgeführt. Wie kann ich nun ein Text mit Tabulatoren (oder anderen Sonderzeichen) ordentlich drucken? Schöne Weihnachten! Mattze |
Re: Drucken mit Tabulator?
Ein Tabulator ist doch kein Sonder- sondern ein Steuerzeichen, wie willst Du das denn drucken?
|
Re: Drucken mit Tabulator?
Hallo,
eine äußerst korrekte und total zielführende Antwort. Du kannst es meinetwegen auch "Birne" nennen. Ich wüsste nur gern, wie man den Drucker beim Textdruck dazu bewegen könnte, das auch als "Steuerzeichen" zu erkennen und entsprechend ausführt. (Nun frage aber bitte nicht, wie man ein Steuerzeichen ausführt!) Übrigens: Eine Listbox auf dem Display macht es - z.B.! (Und frage bitte nicht, was ich mit dem Display meine!) Schöne Weihnachten! Mattze |
Re: Drucken mit Tabulator?
Hast Du mal versucht, ESC oder BACKSPACE zu drucken? Na also. Dann bleibt also nur selber rechnen.
|
Re: Drucken mit Tabulator?
Zitat:
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 |
Re: Drucken mit Tabulator?
Nimm die Methode DrawText von TCanvas. Ich meine, damit müsste es gehen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 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