Referenz - SCREEN (Anweisung)
Syntax: SCREEN Modus[,[ Farbtiefe][,[ Seitenzahl][, [Flags][, Bildwiederholrate]]]]
Typ: Anweisung
Kategorie: Grafik
SCREEN setzt den aktuellen Bildschirm-Grafikmodus. Sofern möglich, sollte der flexiblere SCREENRES-Befehl statt SCREEN verwendet werden, um das Grafikfenster einzustellen. Die Möglichkeit, Grafikbildschirme mit einer im Modus-Parameter fest kodierten Größe festlegen zu können, existiert lediglich aus Kompatibilitätsgründen zu QB. Mit dem SCREENRES-Befehl kann die Fenstergröße explizit festgelegt werden.
- 'Modus' ist die Nummer des Bildschirmmodus (siehe unten).
- Die anderen Parameter entsprechen denen von SCREENRES.
'Farbtiefe' hat nur Auswirkungen, wenn 'Modus' größer ist als 13. Wird sie ausgelassen, dann wird bei einem Bildschirmmodus über 13 die Farbtiefe von 8 bpp (256 Farben) verwendet.
Bedeutung der Modi (Auszug aus dem englischen Handbuch):
Modus | Auflösung | Text | Farben |
---|---|---|---|
0 | Textmodus | 80x25 oder 80x50 Text Spalten/Zeilen 8x14 Zeichensatz oder 8x8 Zeichensatz | Jeweils 16 Vorder- und Hintergrundfarben aus der Standardpalette |
1 | 320x200 in CGA Emulation | 40x25 Text Spalten/Zeilen 8x8 Zeichensatz | 16 Hintergrundfarben und einen von 4 Vordergrundsets für die COLOR-Anweisung |
2 | 640x200 in CGA Emulation | 80x25 Text Spalten/Zeilen 8x8 Zeichensatz | Gleichzeitig je 2 Farben aus der Standardpalette |
7 | 320x200 in EGA Emulation | 40x25 Text Spalten/Zeilen 8x8 Zeichensatz | Gleichzeitig je 16 Farben aus der Standardpalette |
8 | 640x200 in EGA Emulation | 80x25 Text Spalten/Zeilen 8x8 Zeichensatz | Gleichzeitig je 16 Farben aus der Standardpalette |
9 | 640x350 in EGA Emulation | 80x25 oder 80x43 Text Spalten/Zeilen 8x14 oder 8x8 Zeichensatz | Gleichzeitig je 16 Farben aus der Standardpalette |
10 | 640x350 in EGA Emulation | 80x25 oder 80x43 Text Spalten/Zeilen 8x14 oder 8x8 Zeichensatz | Gleichzeitig je 2 Farben aus 16 Mio. Farben (24 Bit) |
11 | 640x480 in VGA Emulation | 80x30 oder 80x60 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 2 Farben aus 16 Mio. Farben (24 Bit) |
12 | 640x480 in VGA Emulation | 80x30 oder 80x60 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 16 Farben aus 16 Mio. Farben (24 Bit) |
13 | 320x200 in MCGA Emulation | 40x25 Text Spalten/Zeilen 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) |
14 | 320x240 | 40x30 Text Spalten/Zeilen 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
15 | 400x300 | 50x37 Text Spalten/Zeilen 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
16 | 512x384 | 64x24 oder 64x48 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
17 | 640x400 | 80x25 oder 80x50 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
18 | 640x480 | 80x30 oder 80x60 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
19 | 800x600 | 100x37 oder 100x75 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
20 | 1024x768 | 128x48 oder 128x96 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
21 | 1280x1024 | 160x64 oder 160x128 Text Spalten/Zeilen 8x16 oder 8x8 Zeichensatz | Gleichzeitig je 256 Farben aus 16 Mio. Farben (24 Bit) oder Truecolor |
Die Anzahl der verwendeten Spalten und Zeilen kann mit WIDTH geändert werden.
Beispiel: Bildschirmmodus 640x480x32bpp mit 4 Bildschirmseiten im Vollbildmodus einstellen:
SCREEN 18, 32, 4, 1
IF SCREENPTR = 0 THEN
PRINT "Bildschirmmodus nicht initialisiert!"
END
END IF
'...
SLEEP
Unterschiede zu QB:
- QB erlaubt keine SCREEN-Flags.
- Die Bedeutung der Parameter ist in FreeBASIC nicht mehr dieselbe wie in QB. Siehe dazu die alte QB-Syntax unter 'Unterschiede unter den FB-Dialektformen'.
- In FreeBASIC gibt es mehr verfügbare Bildschirmmodi.
Plattformbedingte Unterschiede:
- Unter DOS werden keine Fenster- und OpenGL-Flags unterstützt.
- Das SCREEN-Flag 'GFX_HIGH_PRIORITY' existiert nur unter Win32.
Unterschiede zu früheren Versionen von FreeBASIC:
- Seit FreeBASIC v0.18.4 existiert das SCREEN-Flag 'GFX_HIGH_PRIORITY'.
- Seit FreeBASIC v0.17 existieren die SCREEN-Flags 'GFX_NO_FRAME', 'GFX_SHAPED_WINDOW', 'GFX_ALPHA_PRIMITIVES', 'GFX_ALWAYS_ON_TOP' und 'GFX_GFX_MULTISAMPLE'.
- Die SCREEN-Flags 'GFX_STENCIL_BUFFER' und GFX_ACCUMULATION_BUFFER' haben seit v0.17 eine neue Belegung.
- Seit FreeBASIC v0.17 führt ein Aufruf von SCREEN 0 zu einem 80x25-Textmodus mit geleertem Bildschirm.
- Der Grafikmodus ohne visuelles Feedback existiert seit v0.15 (Screen-Flag 'GFX_NULL')
- Das Kein-Moduswechsel-Flag exisitert seit v0.15 (Screen-Flag 'GFX_NO_SWITCH')
- Die Möglichkeit, eine Bildwiederholrate anzugeben, existiert seit v0.13
Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb muss die Syntax von QBASIC verwendet werden:
SCREEN [Modus] [,[Aktive_Seite][,[Sichtbare_Seite]]]
Siehe auch:
SCREEN (Funktion), SCREENRES, SCREENINFO, SCREENLIST, Grafik
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|