6-3 Fehlermeldungen des MacOS Inhalt | 7-2 Speicherorganisation im Omikron Basic


Kapitel 7-1

Der eingebaute VT 52 Emulator

Bei der Textausgabe auf dem Bildschirm haben Sie beim Omikron Basic zwei Möglichkeiten. Zum einen können Sie sich der Befehle PRINT und WRITE  bedienen. Die andere Möglichkeit besteht in der Verwendung des TEXT-Befehls oder der entsprechenden MacOS-Funktionen.
Bei der ersten Varianteten haben Sie spezielle Möglichkeiten zur Bildschirmsteuerung mit Hilfe von sogenannten Escape-Sequenzen, während die zweite Variante besonders den Vorteil bietet, den Text auf ein Pixel genau plazieren zu können.
Bei PRINT- und WRITE-Befehlen emuliert Omikron Basic ein Terminal vom Typ VT52, das eine ganze Anzahl von Steuerfunktionen zur Verfügung stellt. Diese Steuerfunktionen werden durch ein spezielles Sonderzeichen eingeleitet, den Escape-Code. Escape oder abgekürzt ESC hat den ASCII-Code 27. Dem ESC-Code folgen noch ein Buchstabe, der die Funktion bestimmt, sowie bei Bedarf einige weitere Parameter. In der folgenden Aufstellung sind sämtliche Steuercodes und ihre Bedeutung aufgelistet. Einige davon funktionieren auch mit dem LPRINT-Befehl. Natürlich ist es nicht möglich, mit LPRINT CHR$(27)+"E" eine Seite zu löschen, wenn diese schon ausgedruckt wurde.

ESC A (Cursor hoch)
Damit wird der Cursor um eine Zeile nach oben bewegt. Befand sich der Cursor schon in der obersten Zeile, so passiert nichts.

ESC B (Cursor runter)
Diese ESC-Sequenz bewegt den Cursor um eine Zeile nach unten. Befindet sich der Cursor schon in der untersten Zeile, so geschieht nichts.

ESC C (Cursor rechts)
Um eine Spalte nach rechts wird der Cursor durch diese Sequenz bewegt.

ESC D (Cursor links)
Damit wird der Cursor um eine Position nach links bewegt. Diese Funktion ist identisch mit dem Kontroll-Code Backspace (BS = ASCII-Code 8). Befindet sich der Cursor schon in der ersten Spalte, geschieht nichts.

ESC E (Clear home)
Diese Steuersequenz löscht den kompletten Bildschirm und positioniert den Cursor in die linke obere Bildschirmecke (Home-Position).

ESC H (Cusor home)
Damit können Sie den Cursor in die linke obere Bildschirmecke bringen, ohne jedoch den Bildschirminhalt zu löschen.

ESC I (Cursor nach oben)
Diese Sequenz bewegt den Cursor um eine Zeile nach oben. Im Gegensatz zu 'ESC A' wird jedoch dann, wenn der Cursor sich schon in der obersten Zeile befand, eine Leerzeile eingefügt und der Rest des Bildschirms entsprechend um eine Zeile nach unten gescrollt. Die Spaltenposition des Cursors bleibt dabei unverändert.

ESC J (Rest des Bildschirms löschen)
Mittels dieser Funktion wird der Rest des Bildschirms ab der augenblicklichen Cursorposition einschließlich gelöscht. Der Cursor bleibt dabei an derselben Stelle.

ESC K (Rest der Zeile löschen)
Diese ESC-Sequenz löscht den Rest der Zeile, in der sich der Cursor befindet. Gelöscht wird ab der Cursorposition einschließlich. Die Cursorposition selbst wird nicht verändert.

ESC L (Zeile einfügen)
Damit ist es möglich, an der augenblicklichen Cursorposition eine Leerzeile einzufügen. Der Rest des Bildschirms wird nach unten geschoben, die unterste Zeile geht dabei verloren. Nach dem Einfügen steht der Cursor am Beginn der neuen Zeile.

ESC M (Zeile löschen)
Diese Funktion löscht die Zeile, in der sich der Cursor befindet und rückt den Rest des Bildschirms nach oben. Die unterste Bildschirmzeile wird dadurch frei. Der Cursor befindet sich nach dem Löschen in der ersten Spalte der nachgerückten Zeile.

ESC Y (Cursor positionieren)
Dies ist mit die wichtigste Funktion. Sie erlaubt es, den Cursor beliebig auf dem Bildschirm zu positionieren. Dazu braucht die Funktion noch die Cursorzeile und -spalte als Parameter, die in dieser Reihenfolge mit einem Offset von 32 erwartet werden. Wollen Sie den Cursor z.B. in Zeile 5, Spalte 20 setzen, so müssen Sie den Befehl 'PRINT CHR$(27)+"Y"+CHR$(32+5)+CHR$(32+ 20);' ausgeben. Zeilen und Spalten werden dabei von Null an gezählt. Bei einem 25 * 80 Bildschirm sind die Zeilen von 0 bis 24 und die Spalten von 0 bis 79 numeriert.

Hinweis: Einen solchen Steuerstring liefert auch die Funktion @(Y,X) zurück.

ESC b (Schriftfarbe wählen)
Mit dieser Funktion können Sie die Schriftfarbe für die weitere Ausgabe wählen. Bei einem Monochrommonitor haben Sie nur die Wahl zwischen 0 = weiß und 1 = schwarz. Bei Farbdarstellung können Sie aus 16 Farben wählen. Bei dem Parameter werden nur die untersten vier Bits ausgewertet (MOD 16). Deshalb können Sie für die Farbe eins sowohl die Ziffer '1' als auch den Buchstaben 'A' oder 'a' verwenden.

ESC c (Hintergrundfarbe wählen)
Diese Funktion dient analog zur Wahl der Hintergrundfarbe. Wählen Sie für Schrift- und Hintergrund die gleiche Farbe, so können Sie die nachfolgende Textausgabe natürlich nicht mehr sehen.

ESC d (Bildschirm bis Cursorposition löschen)
Durch diese Sequenz wird der Bildschirm vom Anfang bis zur augenblicklichen Cursorposition einschließlich gelöscht. Die Position des Cursors wird dabei nicht verändert.

ESC e (Cursor einschalten)
Durch diese Escape-Sequenz wird der Cursor sichtbar, z.B. kann der Cursor eingeschaltet werden, wenn vom Benutzer eine Eingabe erwartet wird.

ESC f (Cursor ausschalten)
Hierdurch wird der Cursor wieder abgeschaltet.

ESC j (Cursorposition speichern)
Wollen Sie die augenblickliche Position des Cursors speichern, so bedienen Sie sich dazu dieser Sequenz.

ESC k (Cursor auf gespeicherte Position setzen)
Das Gegenstück zu der obigen Funktion ist diese. Damit wird der Cursor wieder auf die Position gesetzt, die vorher mit 'ESC j' gespeichert wurde. War keine Cursorposition gespeichert, wird der Cursor in die Home-Position gebracht.

ESC l (Zeile löschen)
Damit wird die Zeile gelöscht, in der sich der Cursor gerade befindet. Die übrigen Zeilen bleiben davon unbeeinträchtigt. Nach dem Löschen befindet sich der Cursor in der ersten Spalte der gelöschten Zeile.

ESC o (Zeilenanfang löschen)
Hiermit wird der Anfang der Cursorzeile bis zur Cursorposition einschließlich gelöscht. Die Position des Cursors bleibt unverändert.

ESC p (Reverse ein)
Durch diese Sequenz wird auf invertierte Ausgabe geschaltet. Dabei werden für die nachfolgende Ausgabe Schrift- und Hintergrundfarbe vertauscht. Bei einem Monochrommonitor erhalten Sie weiße Schrift auf schwarzem Grund.

ESC q (Reverse aus)
Zum Zurückschalten auf Normaldarstellung dient diese Sequenz.

ESC v (Automatischer Überlauf ein)
Nach Ausführen dieser Sequenz wird bei einer versuchten Ausgabe über das Zeilenende hinaus automatisch eine neue Zeile begonnen.

ESC w (Automatischer Überlauf aus)
Damit wird die obige Sequenz wieder aufgehoben. Beim Versuch, über das Zeilenende zu schreiben, werden alle nachfolgenden Zeichen in die letzte Spalte dieser Zeile geschrieben.
 

Weitere Steuerzeichen, die nicht durch ESC eingeleitet werden:

CHR$(7) (BEL, Tonausgabe)
Es wird ein System-Beep ausgegeben. Wie sich der anhört, hängt von der Einstellung im Kontrollfeld Ihres Macs ab.

CHR$(8) (BS, Back Space)
Der Cursor rückt eine Position nach links und löscht dabei das Zeichen unter dem Cursor.

CHR$(9) (TAB, Tabulator)
Der Cursor springt zur nächsten Tabulatorposition.

CHR$(10) (LF, Line Feed)
Ein Zeilenvorschub wird ausgelöst.

CHR$(12) (FF, Form Feed)
Bewirkt auf dem Drucker, daß die aktuelle Seite geschlossen wird. Bei den meisten Druckern passiert jetzt aber noch nichts. Der Ausdruck erfolgt erst, wenn mit 'CHR$(26)' das ganze Dokument geschlossen wird.

CHR$(13) (CR, Carriage Return)
Der Cursor wird an den linken Rand der Zeile bewegt.

CHR$(26) (DE, Document End)
Bewirkt auf dem Drucker, daß die aktuelle Seite geschlossen und das ganze Dokument ausgedruckt wird.

 

6-3 Fehlermeldungen des MacOS Inhalt | 7-2 Speicherorganisation im Omikron Basic

Support | Bestellen | Start | Home: http://www.berkhan.de


© 1997-2001 Berkhan-Software