RIGHT
RIGHT | |
Syntax: | RIGHTB / 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: | Rechtsscrollen eines Bildschirmbereichs |
Abkürzung: | keine (TSB: rI für RIGHTB
|
Token: | $64 $17 (100 23) / $64 $18 (100 24) |
Verwandte Befehle | |
UP - DOWN - LEFT |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort RIGHT.
Typ: Anweisung Syntax: RIGHTB / W <zl>,<sp>,<bt>,<ho>
RIGHTB bzw. RIGHTW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben spaltenweise nach rechts zu scrollen. In der äußerst linken, freiwerdenden Spalte werden je nach Typ des Befehls Leerzeichen aufgefüllt (RIGHTB, das "B" steht für "blank"), was nur einen einzigen kompletten Scroll-Durchgang erlaubt (danach sind keine Zeichen zum Scrollen mehr da), oder die rechts herausfallenden Zeichen links wieder eingefügt (RIGHTW, 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 die Fehlermeldung ?BAD MODE ERROR.
Beachten: Wenn RIGHTB oder RIGHTW direkt am linken Bildschirmrand beginnen (Spalte 0), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen. Dieser Fehler ist in TSB (ab v2.21125) behoben.
Beispiel[Bearbeiten | Quelltext bearbeiten]
100 PRINT CHR$(147): COLOUR 11,12 110 FOR X= 0 TO 39 120 Y=12*SIN(X/3)+12: PRINT AT(X,Y)"*" 130 NEXT 135 : 140 FOR Y=1 TO 3 150 FOR X=1 TO 40 160 LEFTW 0,0,20,25: REM DIVERGIEREN 170 RIGHTW 0,20,20,25 180 NEXT 190 FOR x=1 TO 40 210 RIGHTW 0,0,20,25: REM KONVERGIEREN 220 LEFTW 0,20,20,25 230 NEXT 240 NEXT
Das Beispiel erzeugt eine Sinuskurve, die sich bewegt. Abbruch ist per Tastendruck möglich. LEFTW und RIGHTW lassen hier die Kurve konvergieren bzw. divergieren.
Beispiel übernommen und angepasst aus dem Buch "Das Trainingsbuch zum Simons' Basic".
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE