<< Compiler
>> AmigaBasic
Viele Drucker kommen mit einem Handbuch, das erkl�rt, welche
Esc-Sequenzen welche Funktion ausl�sen. Aber wenn man diese Sequenzen
dann einmal ausprobiert, passieren oft merkw�rdige Sachen, n�mlich entweder
gar nichts oder etwas ganz anderes, als geplant war. Und das hat auch
einen Grund, n�mlich die Amiga-Druckertreiber. Diese Treiber sind so
gebaut, da� sie nur einen bestimmten Satz ANSI-Esc-Sequenzen
verstehen, nicht die (verschiedenen) druckereigenen, von den verschiedenen
Druckerherstellern definierten. Der Sinn dabei ist, da� jede Anwendung
auf dem Amiga nur diesen einen Standardsatz an Sequenzen verwendet und
so nicht zu wissen braucht, welcher Drucker tats�chlich angeschlo�en
ist. Der Druckertreiber �bersetzt dann diese Standardsequenzen in die
druckereigenen. Eine Liste der verf�gbaren ANSI-Esc-Sequenzen findet
sich im aktuellen Workbench-Handbuch (oder in �lteren
AmigaDOS-Handb�chern). Wenn Du nun eine Steuersequenz an den Drucker schicken
willst, die es nicht als ANSI-Sequenz gibt, so hast Du zwei M�glichkeiten,
dies doch zu erreichen:
- Umgeh den Druckertreiber (der erfolglos versuchen w�rde, die Sequenz
zu interpretieren oder zu �bersetzen) und sende die Ausgabe nur
f�r die L�nge dieser Sequenz an `PAR:' (bzw. `SER:'). Dabei
mu� man die Druckerausgabekan�le umst�ndlich oft umschalten, und man mu�
wissen, wo der Drucker angeschlossen ist (`PAR:' oder `SER:').
- Benutze eine spezielle ANSI-Sequenz, genau f�r diesen Fall gedacht:
`Esc[<n>"<x>'
wobei `<n>' die dezimal geschriebene Anzahl an Bytes in der Sequenz
`<x>' ist, die gerade die spezielle Drucker-Sequenz enth�lt. Diese
ANSI-Sequenz sagt dem Druckertreiber, da� er die n�chsten `<n>' Bytes
nicht interpretieren oder �bersetzen soll.
Aber beide Methoden haben einen grossen Nachteil, wenn sie in einem
Anwendungsprogramm verwendet werden: Man verliert die
Druckerunabh�ngigkeit! Solange man sich an die ANSI-Sequenzen h�lt, kann
man jeden Drucker
der Welt ansteuern, solange es einen Amiga-Druckertreiber f�r ihn gibt.
Wenn man anf�ngt, druckereigene Sequenzen zu verwenden, ist das Programm
an diesen einen Druckertyp gebunden und mit keinem anderen benutzbar
(oder man m��te einige dutzend neue Druckertreiber f�r dieses Programm
erstellen).
Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
<< Compiler
>> AmigaBasic