★ APPLICATIONS ★ PAO/PRESSE ★ F-C-P: FULL CHAR PRINT (CPC MAGAZIN)|CPC Magazin) ★![]() |
| F-C-P: Full Char Print (CPC Magazin) | Applications Pao/presse |
Wer hat sich noch nicht über die Reaktion des Druk-kers geärgert, wenn dieser Steuerzeichen ausdrucken soll, z.B. in einem Listing. Auch hat es bestimmt schon viel Unmut hervorgerufen, daß nur 136 Zeichen pro Zeile und keine Inverszeichen existieren. Außerdem stört, daß sich Zeichen, die man auf dem Computer selbst definiert hat, nicht auf den Drucker bringen lassen. Dieses Programm schafft Abhilfe bei solchen Problemen. Nachfolgend seien einige seiner Leistungsdaten aufgelistet:
RSX-Befehle |GRAPHIC, @a$ a$ enthält den Grafiksteuer-Code für den Drucker. Dieser Befehl dient der Anpassung an andere Modelle (siehe IMODE). |INVERS,a aist Flag: a=0 Invers aus a=1 Invers an a=9 Invers an (mit Zwischenraum) |ITALIC, a a ist Flag: a=0 Italic aus a=1 Italic an |MIX,a aist Flag: a=0 Ausgabe auf Drucker a=1 Ausgabe auf Bildschirm a=3 Ausgabe auf Drucker und Bildschirm Bei Ausgabe auf den Bildschirm werden Steuerzeichen unterdrückt, also auch LF und CR. Dies geschieht nicht, wenn zu a 8 addiert wird. |MODE, a a ist die Nummer der Grafikart beim NL-10. Wurde der Befehl IGRAPHIC benutzt, ist diese Anweisung wirkungslos. |OFF "F-C-P” wird ganz abgeschaltet. Nur durch |ON läßt es sich wieder aktivieren. |ON Reaktivierung von ”F-C-P”. Die Befehle |ON und |OFF benutzen JUMP-RESTORE. Nach ihrer Verwendung müssen Sie bei Diskettenbetrieb die Anweisung |DISC eingeben. |SET, a a ist Flag: a+1 =Zeichen, ab dem "F-C-P” reagiert. Somit läßt sich die Ausgabe mit normalen Druckerzeichen vermischen. |SET, a, x a siehe |SET, a; x vergleiche < ESC > ”D”CHR$(w), wobei x«w |WIDTH,a,x a ist die Zeichenbreite -1 (deshalb 0-7, damit mindestens eine Breite von 1 garantiert ist), x ist die Zwischenraumbreite (0-7); Zwischenraum ist ein freier Platz vor und nach dem eigentlichen Zeichen. Die Druckersteuerzeichen haben meist die gleiche Wirkung wie die RSX-Befehle; die Eingabe der Werte ist etwas komplizierter, da nur wenige Steuerzeichen noch frei sind und diese mehrere Aufgaben erfüllen müssen. Steuerzeichen haben den Vorteil, daß sie auch von Assembler-Programmen verwendet werden können. In Basic lohnt sich ihr Einsatz, wenn feststehende Werte eingestellt werden sollen. Die Steuerzeichen können als String definiert sein. Wenn es sich um Werte handelt, die z.B. vom Anwender gewählt werden, ist der Einsatz von RSX-Befehlen angebracht. Befehle < ESC >”D”CHR$(w) wist Flag:
< ESC >”Z”CHR$(w) w hat Mehrfachbedeutung:
w = 3 * (2 ^ 5): PRINT#8, < ESC >”Z”CHR$(w); Falls noch andere Bits gesetzt sein sollen, muß man, um zusätzlich zum Grafikmodus 3 die Ausgabe auch auf dem Bildschirm zu erhalten, folgendes eingeben: w = w OR (2 ^ 1): PRINT#8, < ESC >”Z"CHR$(w); Der Strichpunkt wird gesetzt, um den Zeilenvorschub zu vermeiden. Die Abkürzung < ESC > steht für CHR$(27), LF für Line Feed, CR für Carriage Return. Um beispielsweise alle Zeichen, die größer sind als 126, also auf dem Printer rlormalerweise nicht mehr korrekt dar-gesteiit werden, von "F-C-P” drucken zu lassen, müssen Sie folgendes eintippen: |SET, 126 oder PRINT#8, ”X”CHR$(126); Will man nur Steuerzeichen ausdrucken, sieht das so aus: |SET, 255,128 + 64 oder PRINT# 8, ”X”CHR$(255); ”D”CHR$ (128+64) Um Steuerzeichen und Zeichen größer 126 zu Papier zu bringen, ist folgende Eingabe erforderlich: |SET, 126,128 + 64 oder PRINT#8, ”X”CHR$(126); ”D”CHR$ (128+64) Allerdings werden LF und CR nicht gedruckt. Um diese doch darzustellen und den Zeilenvorschub trotzdem zu erreichen, geht man so vor: Bei Listings:
|SET, 126,128: PRINT #8,text$;: |SET, 126, 0: PRINT#8 Um feststehende, sich wiederholende Einstellungen zu verkürzen, definiert man einen String. Für Invers an und Invers aus geschieht dies z.B. folgendermaßen: |ON$ = CHR$(27) + "R" + CHR$(1) Um nun Invers einzuschalten, gibt man ein: PRINT#8,|ON$; Ausgeschaltet wird mit: PRINT#8,|OFF$; Nun noch einige Hinweise: Die Italic- und Invertier befehle gelten nur für "F-C-P”-Zeichen. Bei Eingabe normaler Steuerzeichen sollte man ”F-C-P” ganz oder zumindest in Bereitschaftsstellung ausschalten. Nach dem Befehl ION ist zu beachten, daß die möglicherweise zuvor eingestellten Werte erhalten bleiben, d.h., nach vorheriger Eingabe von z.B. |SET, 0,0 ist "F-C-P” immer noch ausgeschaltet. Deshalb sollten Sie nach |ON immer die Flags neu einstellen. Das Programm ist für 7-Bit-Druckerports geschrieben. Möglicherweise setzt es bei 8-Bit-Ports die unterste Punktreihe auf falsche Werte. Wenn durch |SET, 0, 1 oder durch ?#8, < ESC >”X” CHR$(0); alle Zeichen ab 1 von "F-C-P” gedruckt werden, gilt das nicht für ”F-C-P”-interne Steuerzeichen. Abtipp- und Ladeanweisungen Cassette:
Peter Wölflick , CPC Magazin Anmerkung der Redaktion: Das Programm läuft höchstwahrscheinlich mit allen Epson- und kompatiblen Geräten.
|