★ APPLICATIONS ★ DIVERS ★ PRINTED MATTER (SCHNEIDER AKTIV) ★![]() |
| Printed Matter (Schneider Aktiv) | Applications Divers |
Dieses Programm unseres Autors Michael Folz ist eine kleine, zusammengesetzte Utility-Sammlung für den Druck und beinhaltet insgesamt drei Routinen: 1. Der Druckerspooler: Ein Spooler, oder, um genau zu sein, ein Softspooler, ist ein Programm, welches die Druckerausgabe verschnellert (kurz gesagt), indem es die zu druckenden Zeichen nicht sofort an den langsamen Drucker weitergibt, sondern sie in einem Buffer sammelt und periodisch immer wieder ein Zeichen an den Drucker ausgibt. Dadurch spart man sehr viel Zeit. Beim Ausdruck des Basicladers zu “PRINTED MATTER” mußten wir ganze 1,5 Sekunden v/arten, bis wir Weiterarbeiten konnten. Der Drucker ratterte noch einige Minuten lang weiter, während wir schon diese Dokumentation schrieben! 2. Der Steuerzeichenmaskierer: Ein großes Problem beim Ausdruck von Programm-listings sind immer wieder die in z.B. Basiclistings enthaltenen Steuerzeichen, mit denen man beim CPC sehr bequem all die Bildschirmsachen wie Schreibfarbe, Hintergrundfarbe, Mode usw. usw. steuern kann. Beim konventionellen Ausdruck gingen diese Zeichen immer hoffnungslos verloren. “PRINTED MATTER” maskiert diese Steuerzeichen bei der Druckerausgabe bei Bedarf so, daß die Codes leicht lesbar und auch wieder identifizierbar sind: der Code [CTRL][A] (ASCII 1) erscheint als unterstrichenes “A “,[CTRL] [B] als unterstrichenes “B” usw. Nicht maskiert werden die Zeichen LF (Zeilenvorschub) und CR (Wagenrücklauf), weil eine Maskierung dieser Zeichen den normalen Betrieb erheblich stören würde. 3. Die AItemate-Routine: Wer schon einmal auf PCs programmier that, kennt dies genauso wie auch die Idee eines Softspoolers: die Bildschirmausgabe wird gleichzeitig auf dem Drucker äusgegeben. Dies kann unheimlich nützlich sein, möchte man z.B. den Inhalt seiner Diskette schwarz auf weiß haben oder die Helpseite aus der Textverarbeitung beim Arbeiten vor sich liegen haben. Die An Steuerung obiger Routinen geschieht über insgesamt acht RSX-Befelile, die im folgenden beschrieben werden. Alle Befehle sind mehr oder weniger frei kombinierbar. |SPOOL,Bufferadr.,Länge : Mit diesem Befehl wird der Druckerspooler aktiviert. Die zu druckenden Zeichen werden nun nicht mehr direkt auf den Drucker ausgegeben, sondern in den Buffer geschrieben und von einer Interruptroutine ausgegeben. Ist der Buffer voll, wird gewartet bis wieder Piatz für das nächste Zeichen ist oder die [ESCAPE]-Taste gedrückt wurde. |SPOOL.OFF : Dieser Befehl schaltet den Druckerspooler aus. Die Routine wartet intern, bis alle Zeichen im Buffer ausgegeben wurden oder die [ESCAPE]-Taste gedrückt wurde. |FLASH : Dieser Befehl leert die Druckerwarteschlange vollkommen. Dies ist nützlich, um z.B. einen Ausdruck abzubrechen. |FREE,cIntegervariable : Mit dieser Funktion wird die Anzahl der freien Byte in der Drucker Warteschlange in der Integervariablen zurückgegeben. Ist die Spoolroutine nicht aktiviert, wird der Wert - 1 zurückgegeben. Vor Aktivierung des Befehls muß die Integer variable unbedingt auf Null gesetzt werden (z.B. i%=0). |MASK.ON : Die Steuerzeichenmaskierung tritt sofort in Kraft. Auch der Teil, der nachher in der Druckerwarteschlange steht, wird entsprechend maskiert. Maskiert werden, wie oben beschrieben, alle Zeichen kleiner CHRS(32), mit Ausnahme der Zeichen LF (10) und CR (13). |MASK.OFF : Die Steuerzeichenmaskierung wird sofort außer Kraft gesetzt. Auch die Zeichen, die schon in der Wärteschlange stehen, aber noch nicht gedruckt wurden, werden nicht mehr maskiert. |PRINT.ON : Die Alternateroutine wird aktiviert. Alle Bildschirmausgaben werden automatisch auch ausgedruckt. Nicht ausgedruckt werden die Eingaben. |PRINT.OFF : Die Alternateroutine wird desaktiviert.
|