Steuerbefehle für Fx-80 kompatible Drucker unter Turbobasic


Steuerbefehle für Fx-80 kompatible Drucker unter Turbobasic

von Rockford » Do 4. Dez 2008, 23:20
Hi!

Da ich momentan an der Druckerausgabeprogrammierung eines Programms sitze, frage ich mich, wie ich z.B. unterschiedliche Druckerschriftarten usw. unter Turbobasic vorgeben kann. Was ich herausgefunden habe: Zeichen in <invers> werden als kursiv gedruckt.
Gibt es aber z.B. für die Umschaltung der Druckerschriftart z.B. auf nicht proportional eine Möglichkeit unter Turbobasic?

Bin über jeden Tipp dankbar!

Gruss, Holger

von des-or-mad » Fr 5. Dez 2008, 00:09
Hallo!

Ich kenne mich jetzt zwar nicht mit TurboBasic aus, aber FX-80 kompatible Drucker werden über ESC/P (Epson Standard Code for Printers) angesprochen. Dies sind spezielle Escape-Sequenzen, die an den Drucker gesendet werden.

Ein entsprechende Doku findest Du unter: http://www.epson.co.uk/support/manuals/ ... Part_1.pdf

Früher enthielten die Druckerhandbücher immer einen ganz netten Anhang, in dem alle unterstützen ESC Sequenzen aufgeführt wurden. Das Handbuch für die FX Serie gibt's bei Epson ebenfalls als PDF Download

Oliver

von HiassofT » Fr 5. Dez 2008, 00:23
Ja, gibt es :-)

Die Epson (-kompatiblen) Drucker kennen dafür die sogenannten ESC/P Codes. Je nach Drucker (zB 9-Nadel oder 24 Nadel) werden allerdings unterschiedliche Sachen unterstützt. Grob gesagt verstehen die neueren Drucker auch die älteren Kommandos, im Zweifelsfall ist aber ein Blick ins Handbuch des Druckers nötig.

Die meisten der Codes beginnen mit einem "Escape" Zeichen (also CHR$(27), oder einfach in einem String 2x die ESC Taste drücken). Danach kommen ein oder auch mehrere weitere Zeichen, je nach Kommando.

Mal ein kleines Beispiel (ungetestet, sollte aber klappen):
Code: Alles auswählen
10 OPEN #1,8,0,"P:"
20 ? #1;CHR$(27);"p";CHR$(1);"Proportional ein";CHR$(27);"p";CHR$(0)" und wieder aus"
30 CLOSE #1


Das wichtigste ist nun zu den Codes (zB für Breitschrift, fett etc.) zu kommen. Die sind netterweise alle dokumentiert und bei Epson gibt's dazu das "ESC/P Reference Manual" zum Download:

ftp://download.epson-europe.com/pub/download/182/epson18162eu.zip

In diesem Manual sind alle ESC/P Codes beschrieben, in Teil 3 gibt's eine Liste welcher Drucker welche Codes unterstützt (zurückreichend bis zum MX-80 aus dem Jahr 1980).

so long,

Hias

von Rockford » Fr 5. Dez 2008, 21:44
Danke für die schnelle Info! Werde ich am Wochenende gleich mal ausprobieren.

Gruss, Holger

von pps » Sa 6. Dez 2008, 10:28
Ich habe jetzt nicht in die Codes reingeschaut, aber es gab/gibt auch Farbnadeldrucker, die mittels entsprechender Codes auch in Farbe drucken können.

Irgendwo habe ich bestimmt noch mein Handbuch vom STAR LC 24/100 rumliegen, wo ich nach entsprechenden Codes nachschauen könnte, falls Bedarf besteht.

von Rockford » Sa 6. Dez 2008, 16:02
Hallo PPS,

habe einen LX-800, da ist natürlich mit Farbwechsel nix drin. Danke trotzdem!


Gruss, Holger

von Rockford » Mo 8. Dez 2008, 00:12
Also, habe heute mal die Steuercodes ausprobiert, die Tabelle, die Hias angegeben hat, ist echt Gold wert(Danke nochmal dafür!). Mit den ESC-Codes ist es tatsächlich so einfach, wie man es sich wünscht.

Ein sehr,sehr einfaches Beispiel:
Code: Alles auswählen
10 OPEN #1,8,0, "P:"
20 ? #1; CHR$(27);"E";
30 ? #1; "Ein fetter Text"
35 ? #1; CHR$(27);"F";
40 CLOSE #1


Mit CHR$(27) bekommt das ESC als Steuerzeichen.

Wenn man das in sein eigenes Programm einbinden will, ist wichtig, dass das, was man an Steuerzeichen an den Drucker rausschickt, auch wieder am Schluss vor schliessen des Kanals rückgängig macht. Sonst sieht bei einem weiteren Druckvorgang das Ergebnis mit Sicherheit anders aus. Der Drucker verliert die Formatierung erst wieder beim aus- und wieder einschalten.

Vielleicht habe ich damit ja dem ein oder anderen weiter geholfen.

Viele Grüsse, Holger

von FlorianD » Mo 8. Dez 2008, 12:14
mache Formatierungen gehen auch mit einem CR/LF (Zeilenende) wieder auf "Normal" zurück.

Rapper würden übrigens
"Phatten Text"
drucken. :ro

von Rockford » Mo 8. Dez 2008, 18:29
Code: Alles auswählen
10 OPEN #1,8,0, "P:"
20 ? #1; CHR$(27);"E";
30 ? #1; "Yo, Baby!"
35 ? #1; CHR$(27);"F";
40 CLOSE #1



:mrgreen:

Holger :wink: