LEFT
LEFT | |
Syntax: | LEFTB / 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: | Linksscrollen eines Bildschirmbereichs |
Abkürzung: | keine (TSB: lE für LEFTW) |
Token: | $64 $13 (100 19) / $64 $14 (100 20) |
Verwandte Befehle | |
UP - DOWN - RIGHT |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort LEFT.
Typ: Anweisung Syntax: LEFTB / W <zl>,<sp>,<bt>,<ho>
LEFTB bzw. LEFTW erlaubt es dem Programmierer, Bereiche des Textbildschirms inklusive der Farben spaltenweise nach links zu scrollen. In der äußerst rechten, freiwerdenden Spalte werden je nach Typ des Befehls Leerzeichen aufgefüllt (LEFTB, das "B" steht für "blank"), was nur einen einzigen kompletten Scrollvorgang erlaubt, oder die links herausfallenden Zeichen wieder eingefügt (LEFTW, 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 LEFTB oder LEFTW direkt am rechten Bildschirmrand enden (Spalte 39), kann es öfter zu "Geisterzeichen" dort kommen, die sehr störend sein können, allerdings keinen schwerwiegenden Folgefehler verursachen (behoben in TSB).
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