QBasic-Schnellübersicht
(c) Thomas Antoni, 22.3.04 –
www.qbasic.de
Datentypen
Suffix |
Datentyp |
Länge |
Wertebereich, Bemerkungen |
% |
INTEGER |
2 Bytes |
(Ganzzahl) -32 768...32 767 |
& |
LONG |
4 Bytes |
(lange Ganzzahl) -2 147 483 648...2 147 483 647 |
! |
SINGLE (einfach lange Gleitpkt.zahl) |
4 Bytes |
-3.402823 E38...-1.40129 E-45 für negative Werte
1.40129 E-45 ... 3.402823 E38 für positive Werte |
# |
DOUBLE (doppelt lange Gleitpunktzahl) |
8 Bytes |
-1.79769313486231 D308... -4.94065 D-324 für negative Werte
4.94065 D-324 ... 31.79769313486231 D308 für positive Werte |
$ |
STRING |
|
max 32k Texteichen |
Standard-Farbcodes
0 = Schwarz
1 = Blau
2 = Grün |
3 = Türkis
4 = Rot
5 = Violett |
6 = Braun
7 = Hellgrau
8 = Grau |
9 = Hellblau
10 = Hellgrün
11 = Helltürkis |
12 = Hellrot
13 = Rosa
14 = Gelb |
15 = Weiß |
In SCREEN 0 sind als Hintergrundfarben nur die Codes 0...7 verwendbar.
Die wichtigsten Bildschirmmodi
SCREEN |
Beschreibung, Auflösung, Farben, [Speicherbedarf], Bildschirmseiten |
0 |
Textmodus, für alle Grafikkarten, 80*25|43|50 und 40*25|43|50 Spalten * Zeilen mit WIDTH einstellbar,16 Farben,8 Bildschirmseiten (0-7) |
1 |
CGA/EGA/VGA-Karte, 320*200 Grafik, 30*25 Text, 4 aus 16 Farben, [2 Bits pro Pixel in 1 Ebene für GET/PUT],1 Bildschirmseite ( 0 ) |
2 |
CGA/MCGA/EGA/VGA-Karte, 640*200 Grafik, 80*25 Text, 2 aus 16 Farben, [1 Bit pro Pixel in 1 Ebene für GET/PUT], 1 Bildschirmseite ( 0 ) |
7 |
EGA/VGA-Karte, 320*200 Grafik, 40*25 Text, 16 Farben, 8 Bildschirmseiten (0-7). Ruckelfreie Animationen auch auf langsamen Rechnern möglich,
[4 Bits pro Pixel in 4 Ebenen für GET/PUT] |
9 |
EGA/VGA-Karte, 640*350 Grafik, 80*15 Text, bis 16 Farben, [4 Bits pro Pixel (bei 16 Farben) in 4 Ebenen für GET/PUT], 2 Bildschirmseiten (0-1) |
11 |
VGA-Karte, 640*480 Grafik, 80*25|30|50|60 Text (Voreinstellung: 80*30), 2 aus 256 Farben, gut geeignet für s/w-Grafiken, [1 Bit pro Pixel in 1 Ebenen für GET/PUT], 1 Bildschirmseite |
12 |
VGA-Karte, 640 x 480 Grafik, 80*30|50|60 Text (Voreinstellung: 80*30), 6 aus 256 Farben, [4 Bits pro Pixel in 4 Ebenen für GET/PUT], 1 Bildschirmseite |
13 |
VGA-oder MCGA-Karte, 320 x 200 Grafik, 40*25 Text, 256 Farben, [8 Bits pro Pixel in 1 Ebene für GET/PUT], 1 Bildschirmseite |
Mathe-Funktionen
Befehl |
Beschreibung |
+ - * / |
Grundrechenarten |
x \ y |
Ganzzahl-Division, liefert d. ganzzahligen Anteil von x/y; z.B. 13\5 = 2 |
x MOD y |
Modulo-Operation (liefert d. Rest der Division x/y; z.B. 13 MOD 5 = 3) |
x^y |
Exponentialfunktion xy |
SQR (x) |
Quadratwurzel aus x |
y = x^(1/n) |
n-te Wurzel aus x |
SGN(x) |
Vorzeichen von x (Signum-Funktion) |
ABS (x) |
Absolutbetrag von x |
SIN (x) |
Sinus von x (x im Bogenmaß; 360° entspr. 2*Pi; ...::: z.B. sin 30° = SIN(30 * 3.1416/180) :::... |
COS (x) |
Cosinus von x (x im Bogenmaß) |
TAN (x) |
Tangens von x (x im Bogenmaß) |
ATN (x) |
Arcustangens von x (ergibt den Winkel im Bogenmaß) |
EXP (x) |
x-te Potenz zur Basis e (ex) |
LOG (x) |
Natürlicher Logarithmus ln(x) (Logarithmus zur Basis e) |
INT (x!) |
Gleitpunkt-Integer-Wandlung mit Abrundung nach unten |
FIX (x!) |
Nachkommastellen abtrennen ohne Rundung |
CINT (x!) |
SINGLE Gleitpunkzahl zu Ganzzahl "wissenschaftlich" zur nächsten geraden Zahl runden (4.5 -> 4 | 5.5 -> 6) |
CLNG(x#) |
DOUBLE Gleitpunkzahl zu Ganzzahl "wissenschaftlich" zur nächsten geraden Zahl runden (4.5 -> 4 | 5.5 -> 6) |
CSNG |
Numerischen Wert in SINGLE-Gleitpunktzahl umwandeln |
CDBL |
Numerischen Wert in DOUBLE-Gleitpunktzahl umwandeln |
HEX$ (x) |
Zahl x in Hexadezimalzahl-String umwandeln |
Zeichenkettenfunktionen
Befehl |
Beschreibung |
LEFT$ (t$, n) |
Liefert n Zeichen links aus dem String t$ zurück |
RIGHT$ (t$, n) |
Liefert n Zeichen rechts aus dem String t$ zurück |
MID$ (t$, a, n) |
Liefert n Zeichen ab dem a-ten zeichen aus einem String zurück |
INSTR (a, t$, s$) |
Durchsucht den String t$ ab dem a-ten Zeichen nach dem String t$ und liefert die Zeichenposition der Fundstelle zurück bzw. 0 wenn s$ nicht gefunden |
LCASE$ (t$) |
Groß- in Kleinbuchstaben umwandeln (nicht für Umlaute) |
UCASE$ (t$) |
Klein- in Großbuchstaben umwandeln (nicht für Umlaute) |
MID$ (t$, a, n) =e$ |
n Zeichen im String t$ ab Zeichen-Position a durch den String e$ ersetzen |
SPACE$ (n) |
Liefert einen String mit n Leerzeichen |
STRING$ (n, t$) |
Liefert einen String , der n mal das 1. Zeichen von t$ enthält |
LEN (t$) |
Liefert die Länge des Strings t$ in Anzahl Zeichen |
CHR$ (code) |
Liefert das Textzeichen mit dem angegebenen ASCII-Code |
ASC (t$) |
Liefert den ASCII-Code des ersten Zeichens von t$ |
t$ = t1$ + t2$ |
Strings zusammenfügen (z.B. "Es" + "sel" = "Esel") |
STR$ (z) |
Numerischen Wert z in String umwandeln |
VAL (t$) |
String t$ in numerischen Wert umwandeln |
Die wichtigsten Tastencodes (ASCII-Tabelle in "Hilfe | Inhalt | ASCII-Zeichen-Codes")
Taste |
Code |
Taste |
Code |
Eingabe |
CHR$(13) |
Cursor hoch |
CHR$( 0 ) + "H" |
Leertaste |
CHR$(32) |
Cursor tief |
CHR$( 0 ) + "P" |
Backspace |
CHR$(8) |
Cursor links |
CHR$( 0 ) + "K" |
Esc |
CHR$(27) |
Cursor rechts |
CHR$( 0 ) + "M" |
Einf |
CHR$( 0 ) + "R" |
Bild hoch |
CHR$( 0 ) + "I" |
Entf |
CHR$( 0 ) + "S" |
Bild tief |
CHR$( 0 ) + "Q" |
Pos1 |
CHR$( 0 ) + "G" |
F1....F10 |
CHR$( 0 ) + CHR$(59).....(68) |
Ende |
CHR$( 0 ) + "O" |
F11...F12 |
CHR$( 0 ) + CHR$(133)...(134) |
Befehle zur Bildschirmausgabe
PRINT [numerische oder Textausdrücke] [ ; | ,] => [; = ohne Zeilenvorschub | , = mit Tabulator]
Befehle zur Tastatureingabe
INPUT Text$ { ; | , } Variable => Aufforderungs-Text anzeigen und Variableneingabe
anfordern (mit | ohne Fragezeichenanzeige)
t$ = INPUT$ (n) => Wartet bis n Textzeichen von der Tastatur in t$ eingelesen
Wartezeit einfügen
Zeit = TIMER : DO : LOOP WHILE TIMER < Zeit + Wartezeit 'Wartezeit in sec
|