FILL
FILL | |
Syntax: | FILL <zl>,<sp>,<bt>,<ho>,<bc>,<f> |
Parameter | |
zl: Bildschirmzeile (0..24) | |
sp: Bildschirmspalte (0..39) | |
bt: Breite (1..40) | |
ho: Höhe (1..25) | |
bc: Bildschirmcode (0..255) | |
f: Farbe (0..15) | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Bildschirmkontrolle |
Aufgabe: | Füllen eines Bildschirmbereichs mit einem Zeichen in Farbe |
Abkürzung: | keine (TSB: fI) |
Token: | $64 $07 (100 7) |
Verwandte Befehle | |
FCOL - FCHR - MOVE - INV - COLOUR |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort FILL.
Typ: Anweisung Syntax: FILL <zl>,<sp>,<bt>,<ho>,<bc>,<f>
Mit FILL kann man Bereiche des Textbildschirms (oder den ganzen Textbildschirm) mit einem bestimmten Zeichen in einer bestimmten Farbe füllen. Damit ist FILL eine Kombination aus FCHR und FCOL.
Bei Über- oder Unterschreitung der zulässigen Werte (siehe Box) meldet der Interpreter die Fehlermeldung ?BAD MODE ERROR.
Beispiele[Bearbeiten | Quelltext bearbeiten]
Beispiel 1[Bearbeiten | Quelltext bearbeiten]
Dieses Beispiel schreibt einen Rahmen in die rechte untere Bildschirmecke, wartet und lässt den Inhalt einmal weiß blinken.
10 PRINT CHR$(147);: CENTRE "DEMO FILL" 20 SP=29: ZL=14: BT=10: HO=10: RA=160: IN=32: F1=1: F2=0 25 COLOUR F2,15 30 FCHR ZL,SP,BT,HO,RA 40 FCHR ZL+1,SP+1,BT-2,HO-2,IN 50 PRINT AT(SP+2,ZL+2) "-DEMO-" 60 PRINT AT(SP+2,ZL+HO-2) "TASTE!" 70 WAIT 198,255 80 FILL ZL+1,SP+1,BT-2,HO-2,RA,F1: PAUSE 1 85 FILL ZL+1,SP+1,BT-2,HO-2,IN,F2 90 PRINT AT(SP+2,ZL+HO-2) "DANKE!" 100 PRINT CHR$(19);
Hinweis: In TSB muss die Syntax für CENTRE, COLOUR und PRINT AT angepasst werden. PRINT "{clr/home}"; kann man durch CLS ersetzen.
Beispiel 2[Bearbeiten | Quelltext bearbeiten]
Dieses Beispiel gibt vier Bildschirmseiten mit den Zeichen der Zeichensätze 1 und 2 (normal und invertiert) in der Reihenfolge der Bildschirmcodes aus.
100 COLOUR 15,7 110 Z$=CHR$(142):ZS$="ZS1" 120 PROC ZEICHEN 130 PRINT CHR$(147)Z$ 140 FILL 0,0,40,25,160,15 150 FOR R=0 TO 7 160 FOR C=0 TO 15 170 FILL 2*R,2*C+1,1,1,I,0 180 PRINT AT(0,20)ZS$;I 190 I=I+1 200 NEXT:NEXT 210 POKE 198,0: WAIT 198,255 220 IF I=128 THEN CALL ZEICHEN 230 IF I>255 AND Z$=CHR$(14) THEN CALL FERTIG 240 IF I>255 THEN I=0:Z$=CHR$(14):ZS$="ZS2":CALL ZEICHEN 250 PROC FERTIG 260 PRINT AT(0,20)CHR$(142):END
$ | % | @ | 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