UP

Aus C64-Wiki
Wechseln zu: Navigation, Suche
UP
Format: UPB / W <zl>,<sp>,<bt>,<ho>
Parameter
zl: Bildschirmzeile (0..24)
sp: Bildschirmspalte (0..39)
bt: Breite (1..40)
ho: Höhe (1..25)
Einordnung
Typ: Anweisung
Kontext: Bildschirmkontrolle
Aufgabe: Aufwärtsscrollen eines Bildschirmbereichs
Abkürzung: keine
Verwandte Befehle
DOWN - LEFT - RIGHT


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort UP.

Typ: Anweisung
Syntax: UPB / W <zl>,<sp>,<bt>,<ho>

UPB bzw. UPW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben zeilenweise nach oben zu scrollen. In der untersten, freiwerdenden Zeile werden je nach Typ des Befehls Leerzeichen aufgefüllt (UPB, das "B" steht für "blank"), was nur einen einzigen kompletten Scrollvorgang erlaubt, oder die oben herausfallenden Zeichen wieder eingefügt (UPW, das "W" steht für "wrap"), was mit dem gleichen Inhalt immer wieder durchgeführt werden kann.

Leider handelt es sich bei diesem Scrolling um ein zeichenweises Scrolling, das in jedem Falle recht ruckelig wirkt. Pixelweises Scrolling ("Smooth Scrolling") ist mit Simons'-Basic-Befehlen nicht möglich.

Bei Über- oder Unterschreitung der zulässigen Werte (siehe Box) meldet der Interpreter einen ?BAD MODE ERROR.

Beachten: Wenn UPB oder UPW direkt am unteren Bildschirmrand enden (Zeile 24), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen.

Beispiel: 

100 PRINT "{clear/home}": COLOUR 11,12: CSET 0
110 FOR x=0 TO 11
120 PRINT AT(x+15,x) CHR$(109)
130 NEXT
140 FOR x=12 TO 23
150 PRINT AT(23-x+15,x) CHR$(110)
160 NEXT
170 PAUSE 2
180 REPEAT: GET x$: UPW 0,15,12,24: UNTIL x$>""

(erzeugt eine wandernde Zickzacklinie, Abbruch per Tastendruck
 UPW lässt hier den Zickzack sich nach oben bewegen)

Beispiel übernommen und angepasst aus dem Buch "Das Trainingsbuch zum Simons' Basic".