INSERT (TSB)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
INSERT (TSB)
Syntax: INSERT <string>,<zl>,<sp>,<bt>,<ho>,<f>
Parameter
string: Zeichenkette (9 Zeichen)
zl: Zeile (0..23)
sp: Spalte (0..38)
bt: Breite (2..40)
ho: Höhe (2..25)
f: Farbe (0..15)
Einordnung
Typ: Anweisung
Kontext: Bildschirmkontrolle
Aufgabe: Rahmen zeichnen (Textmodus)
Abkürzung: insE
Token: $64 $5b (100 91)
Verwandte Befehle
keine


Dieser Artikel beschreibt das TSB-Schlüsselwort INSERT (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls INSERT.

Typ: Anweisung
Syntax: INSERT <string>,<zl>,<sp>,<bt>,<ho>,<f>

Mit INSERT kann man im Textmodus Rahmen auf den Bildschirm malen.

Das Aussehen des Rahmens wird vom ersten Parameter bestimmt. Er muss eine Zeichenkette enthalten, die genau neun Zeichen lang ist und aus den Zeichen besteht, die den Rahmen definieren: linke obere Ecke, obere Kante, rechte obere Ecke, linke Kante, Füllzeichen, rechte Kante, linke untere Ecke, untere Kante, rechte untere Ecke. Ist dieser String zu lang oder zu kurz, meldet TSB einen ?ILLEGAL QUANTITY ERROR.

INSERT beachtet einen aktiven RVS-Modus. Zusätzlich eingebaut ist ein auf einzelne Zeichen bezogener RVS-Modus, der für Zeichen gedacht ist, die so dick sind, dass beim Zeichnen von Rahmen auf gegenüberliegenden Seiten jeweils das invertierte Zeichen verwendet wird, z.B. C= +k  für einen linken und rechten Rand oder C= +i  für einen oberen und unteren Rand. Da bei INSERT nur neun Rahmendefinitionszeichen zugelassen sind (Steuerzeichen also nicht vorkommen dürfen), kann man sich für ein zu invertierendes Zeichen einfach mit einem CHR$-Wert ab 224 ($e0) behelfen, alle Zeichen ab 224 werden von INSERT invertiert ausgegeben.

Die nächsten beiden Parameter legen den Ort der linken oberen Ecke des Rahmens fest: ZL = Zeile (Wertebereich 0 bis 23) und SP = Spalte (Wertebereich 0 bis 38). Die beiden folgenden bestimmen seine Größe: BT = Breite (Wertebereich 2 bis 40) und HO = Höhe (Wertebereich 2 bis 25). Wird einer dieser Werte unterschritten oder überstiegen, meldet der Interpreter einen ?BAD MODE ERROR. Eine Breite oder Höhe von 1 ist dennoch möglich, wird aber automatisch auf 2 erhöht, weil sonst kein Kasten entstehen kann. Eine Breite oder Höhe von 2 lässt die Kanten weg und gibt nur die Ecken aus.

Der letzte Parameter (F) definiert die Farbe der Zeichen.

Siehe auch: INSERT als String-Funktion.


Beispiel:

Das Programm für die vier INSERT-Rahmen im Bild (wegen der Grafikzeichen als Screenshot).
Vier verschiedene INSERT-Rahmen.
TSB-Bildschirm mit geändertem Zeichensatz und INSERT-Rahmen (Zeichensatz aus 64'er 5/88).
10 r$="o-o! !o-o"
20 zl=0: sp=0: bt=40: ho=25: f=1
30 INSERT r$,zl,sp,bt,ho,f
40 DO NULL

Zeichnet einen weißen Rahmen aus Satzzeichen und Buchstaben um den ganzen Bildschirm.

Hier im zweiten Bild ist ein für solche Zwecke (schnelle Ausgabe von Boxen) extra entworfener Zeichensatz (aus dem 64'er Magazin 5/88, entworfen von Ralph Schmieder, siehe auch Beispiel MEM) zu sehen, welcher auch auf der TSB-Diskette enthalten ist.

Ein komplettes Anwendungsbeispiel findet sich beim Simons-Basic-Befehl MOB SET (Beispiel 2).