Frage:
Wenn die Anweisung von LPRINT ausgeführt wird, werden eine horizontale Registerkarte oder ein CHR$(9) in acht Bereichen in Macintosh BASIC (außerdem in CP/M und MS-DOS BASIC) umwandelt. Das geschieht warum? Gibt es beliebige Möglichkeit, CHR$(9) von dem Umwandeln in Bereichen beizubehalten?
Antwort:
Diese Information gilt für die folgenden Produkte:
| 1. | Microsoft QuickBASIC-Versionen 1.00a, 1.00b für Apple Macintosh 1.00
|
| 2. | Microsoft BASIC Compiler-Version 1.00 für Apple Macintosh
|
| 3. | Interpreter-Versionen 1.x Microsoft BASIC, 2.x und 3.00 für Apple Macintosh
|
Um ein allgemeines, machine-independent Verhalten der Registerkarten auf verschiedenen Druckern zu bieten, umwandelt die Anweisung von LPRINT in BASIC eine Registerkarte (ein ASCII 9) in Bereichen.
Sie können mit PRINT-#-N auf dem Gerät "LPT1:BIN" das Sie, wie n. # "LPT1:BIN" derselbe wie "LPT1:DIRECT" funktioniert, ÖFFNEN, außer dass die horizontale Registerkarte CHR$(9) in Leerzeichen nicht umwandelt wird, ausgeben, um die Konvertierung von CHR$(9) in Leerzeichen zu unterdrücken. "LAGERPLATZ" steht für "binäres Abbild" wo ohne beliebige Übersetzung Byte ausgegeben werden.
"LPT1:BIN" wird von BASIC Interpreter Version 2.00 oder BASIC Compiler Version 1.00 nicht unterstützt. "LPT1:BIN" wird in QuickBASIC-Version 1.00 (Interpreter und Compilers) und Interpreter-Basisversionen, 1,00, 1.01, 2.10 und 3.00 unterstützt.
LPRINT, "LPT1:DIRECT" und "LPT1:BIN" werden nur von direkt verbundenen Druckern unterstützt. Bei Apple-Geräten wie AppleTalk ImageWriters und LaserWriters werden sie nicht unterstützt.
Eigenes Ihr Tabstopp beispielhaft auf das Apple ImageWriter mithilfe von Steuerungscodes festzulegen, die aus dem Druckerhandbuch Apple ImageWriter stammen ist folgend:
OPEN "LPT1:BIN" FOR OUTPUT AS #1
PRINT #1, "12345678901234567890" 'Provides handy tab counter.
' See Pages 57-59 of the ImageWriter printer manual for control codes:
PRINT #1, CHR$(27); "(004,009,023."; 'Sets tabs at columns 4, 9, 23.
PRINT #1, CHR$(9); "x"; CHR$(9); "y"; CHR$(9); "z" 'Uses tabs.
PRINT #1, CHR$(27); CHR$(48); ' Clears all tabs set above.
PRINT #1, CHR$(9); "x"; CHR$(9); "y"; CHR$(9); "z" 'Tabs are clear.
CLOSE #1
Beachten Sie, dass in BASIC Interpreter Version 2.00 oder BASIC Compiler 1.00 das Gerät "LPT1:BIN" nicht unterstützt wird. Um die Registerübersetzung in Leerzeichen in diesen Versionen umzugehen, können Sie die TAB-Funktion des BASICS mit LPRINT statt CHR$(9) in dem folgenden Beispiel verwenden:
LPRINT TAB(12);"X";TAB(24);"Y" ' This successfully performs a tab.