★ APPLICATIONS ★ DIVERS ★ RSX PRINTTRANS (CPC AMSTRAD INTERNATIONAL) ★ |
RSX Printtrans (CPC Amstrad International) | Applications Divers |
Deutsch-amerikanische Freundschaft Viele CPC-Besitzer, die einen Drucker benutzen, werden schon öfters bemerkt haben, daß die Zusammenarbeit zwischen ihrem Rechner und dem Drucker nicht immer ganz reibungslos verläuft. Zwei Beispiele dazu: Obwohl die meisten Drucker sowohl deutsche Umlaute als auch eckige und geschweifte Klammern ausdrucken können, ist es oft nur schwer möglich, in einem Text beide Zeichengruppen zu verwenden. Manchmal verwendet man in einem Programmlisting Steuerzeichen (Control-Codes), z.B. in Print-Befehlen innerhalb von Anführungszeichen. Beim Listen auf dem Bildschirm gibt es keine Probleme. Beim Listen auf dem Drucker aber schon, da der Drucker die Steuerzeichen als Befehle interpretiert. Mit PRINTTRANS können diese Probleme gelöst werden. PRINTTRANS “sieht“ sich jeden Code an, den der Computer zum Drucker schickt, und sucht diesen Code in einer Liste. In dieser Liste kann z.B. stehen: “Drucke statt jedem V ein 'b'!“. Dieser Befehl bewirkt, daß PRINTTRANS statt jedem “a“, das an den Drucker geschickt wird, ein “b“ druckt. Wie ist es nun möglich, sowohl Umlaute als auch eckige Klammern in einem Text zu verwenden? Zuerst sucht man zwei Zeichen, die man im Text sonst nicht verwendet, z.B. “ # “ und “$“. Dann trägt man mit PRINTTRANS die folgenden Befehle in die Liste ein: “Drucke statt jedem Umschalten auf amerikanischen Zeichensatz, eckige Klammer auf, Umschalten auf deutschen Zeichensatz.“ “Drucke statt jedem Umschalten auf amerikanischen Zeichensatz, eckige Klammer zu, Umschalten auf deutschen Zeichensatz.“ Nun kann man in einem Text Umlaute und eckige Klammern verwenden, allerdings nicht die Zeichen “#“ und “$“. Aber man kann ja statt “#“ und “$“ auch jedes andere Zeichen wählen. Besonders die Zeichen mit Codes von 128 bis 255 bieten sich dafür an, durch ein anderes Zeichen ersetzt zu werden, da Zeichen mit diesen Codes ohnehin nicht an den Drucker geschickt werden können. Zum Programm: Benutzer eines CPC 664 oder CPC 6128 müssen das Programm so abändern: CPC 664:490 DATA B0,C9,C3,8E,A0,CF,0B,88 CPC 6128 : 490 DATA B0,09,03,8E,A0,CF,1B,88 Nach dem Abtippen ist es unbedingt notwendig, das Programm abzuspeichern, da es sich nach dem Starten von selbst löscht. Die folgenden RSX-Befehle werden von PRINTTRANS installiert: |BUFFER, < Adresse >, < Laenge > : legt fest, wo die Liste stehen soll, in der steht, welche Zeichen ersetzt werden sollen und wie lang diese Liste sein soll. Nach dem Start von PRINTTRANS wird abgefragt, wo dieser Buffer stehen soll, das Programm legt den Buffer an. Mit dem Befehl |BUFFER kann man den Buffer jederzeit neu anlegen, der Buffer wird dabei vollständig gelöscht. |DEFINE, < Code > , < Code oder Stringpointer > z.B.: |DEFINE,97,98 bedeutet soviel wie: Drucke statt jedem “a“ (a hat den ASCII-Code 97) ein “b“ (ASCII-Code 98). Oder: a$ = “(CTRL A)“: |DEFINE, 1,@a$ bedeutet soviel wie: Drucke statt jedem Zeichen mit dem ASCII-Code 1 (=ctrl a) die Zeichenkette “(CTRL A)“. Beim CPC 664 und beim CPC 6128 kann man den Befehl auch so schreiben: |DEFINE, 1,“(CTRL A)“. |ERASE, < Code >: löscht den Befehl, den man einem Code zugeordnet hat. Es wird also wieder der ursprüngliche Code gedruckt. Wenn man erreichen will, daß statt einem Code gar nichts gedruckt wird, muß man diesem Code einen |PRINTER.ON: schaltet PRINTTRANS für den Drucker ein. Alle Zeichen, die an den Drucker geschickt werden, werden entsprechend der Befehlstabelle geändert. |PRINTER.OFF: macht |PRINTER.ON rückgängig, alle Zeichen werden ganz normal gedruckt. |SCREEN.ON: schaltet PRINTTRANS für den Bildschirm ein. Alle Zeichen, die auf dem Bildschirm ausgegeben werden, werden entsprechend der Befehlstabelle geändert. |SCREEN.OFF: macht |SCREEN.ON rückgängig. Ein Beispiel: So gibt man mit diesen Befehlen dem Computer die Anweisung, statt “ # “ und “$“ die eckigen Klammern zu drucken: a$=CHR$ (27) +“R"+CHR$ (0) +CHR$ (91) +CHR$(27)+“R“+CHR$ (2) : |DEFINE,35,@a$ |
|
|