QBasic-Befehlsliste

von Daniel Nolting ("Supermario") - www.crazypage.net

QBasic-Befehle - gegliedert nach Funktionen
Der genaue Aufbau der Befehle geht aus der QBasic-Onlinehilfe hervor
[Dateizugriffe] [Datentypen, Variablen, Felder] [DOS] [Tastatur-Eingabe, Bildschirmausgabe, Sound] [Vergleichoperationen, logische Verknüpfungen] [Ereignisgesteuerte Bearbeitung] [Mathematik] [Programmaufbau, Subroutinen] [Direkte Speicherzugriffe] [Strings ]
Dateizugriffe
BLOAD Dateiname, Offset Lädt eine Datei in den Speicherbereich
BSAVE Dateiname, Offset, Länge Sichert den Speicherbereich
CLOSE #Dateinummer Schließt die Datei
EOF (Dateinummer) Ermittelt das Ende einer Datei
LOF (Dateinummer) Ermittelt die Größe einer Datei
LOC (Dateinummer) Ermittelt die Position des Dateizeigers
FIELD #Dateinummer, Länge AS String Setzt den Puffer für Random Datei
GET #Dateinummer, SatzNummer, X Liest einen Datensatz aus einer Datei
INPUT #Dateinummer, X Liest Daten aus einer Datei
INPUT$ (Anzahl, #Dateinummer) Liest eine Zeichenkette aus einer Datei
LINE INPUT #Dateinummer, X Liest einen String aus einer Datei
PRINT #Dateinummer, X Schreibt die Variable X in eine Datei
PRINT #Dateinummer, USING Format; X Schreibt die Variable X formatiert in eine Datei
PUT #Dateinummer, SatzNummer, X Daten(satz) in Datei schreiben
LSET Datenvariable = String Kopiert Daten linksbündig in den Puffer
RSET Datenvariable = String Kopiert Daten rechtsbündig in den Puffer
RESET Leert den Puffer und schließt die Datei
SEEK (Dateinummer) Ermittelt die Position des Dateizeigers
SEEK Dateinummer, Position Setzt den Dateizeiger
OPEN Datei FOR Modus AS #Dateinummer Öffnet eine Datei
Datentypen, Variablen, Felder
X% Ganzzahl
X& Große Ganzzahl
X! Gleitkommawert
VariablenName# Gleitkommawert mit doppelter Genauigkeit
VariablenName$ Zeichenkette
DEFDBL Legt Variablen als DOUBLE fest
DEFINT Legt Variablen als INTEGER fest
DEFLNG Variablen als LONG festlegen
DEFSNG Variablen als SINGLE festlegen
DEFSTR Legt Variablen als STRING fest
CLEAR Stackgröße Löscht Variablenspeicher, legt Stackgröße fest
DATA Konstantenliste Legt Konstanten für READ fest
\ DATE$ Konstante für das Datum
TIME$ Konstante für die Uhrzeit
DIM SHARED Name Legt globale Variablen fest
DIM Name (Dimension) Legt Felder fest
$DYNAMIC Legt Feldvereinbarungen als dynamisch fest
ERASE FeldName Initialisiert ein Feld neu oder löscht es
UBOUND FeldName Ermittelt die obere Indexgrenze eines Feldes
LBOUND FeldName Ermittelt die untere Indexgrenze eines Feldes
OPTION BASE 0/1 Setzt Startindex für Felder
READ Variable Weist ein DATA-Elemente
RESTORE [Marke] Setzt DATA-Zeiger neu
SHARED Name Deklariert Prozedur/Funktionsvariablen als global
STATIC Name Deklariert Prozedur/Funktionsvariablen als
lokal und statisch
$STATIC Deklariert Feldvereinbarungen als statisch
SWAP Variablel, Variable2 Vertausch die Werte von zwei Variablen
DOS
CHDIR Verzeichnis Wechselt das Verzeichnis
ENVIRON String Schreibt einen Eintrag in der Umgebung
ENVIRON$ String/Nummer Ermittelt einen Eintrag in der Umgebung
FILES [Maske] Zeigt den Inhalt des angegebenen Pfades an
KILL DateiName Löscht die Datei
MKDIR Verzeichnis Erstellt ein Verzeichnis
LOCK#DateiNummer[, DatenSatz]
LOCK #DateiNummer[, VonNummer]
[ TO BisNummer]
Netzwerkzugriff einschränken
UNLOCK #DateiNummer[, DatenSatz]
UNLOCK #DateiNummer[, VonNummer]
[ TO BisNummer]
Netzwerk-Zugriffsbeschränkung aufheben
NAME AlterName AS NeuerName Benennt eine Datei um
RMDIR Verzeichnis Löscht das Verzeichnis
SHELL "DOS-Anweisung" Führt die o.g. Dos Befehle aus
Tastatur-Eingabe, Bildschirmausgabe, Sound
INKEYS Liest die Tastatur aus
INPUT X Liest die Daten von der Tastatur
INPUT$ (Anzahl) Liest ein Zeichen von der Tastatur
KEY Taste, String Belegt eine Taste
KEYON/OFF/LIST Schaltet Tasten An/Ab
LINE INPUT X Liest eine Zeichenkette von der Tastatur
PRINT X Gibt die Variable X auf dem Bildschirm aus
PRINT USING String; X Gibt den String X formatiert aus
SPC (Anzahl) Gint ein Leerzeichen aus
WRITE X Schreibt die Variable X auf den Bildschirm
CLS Setzt den Bildschirm zurück
COLOR Farbe Setzt die Bildschirmfarbe
SCREEN Zeile, Spalte , Modus Ändert die Farbe oder den ASCII Wert
eines Zeichens
CSRLIN Ermittelt die Cursorposition (Zeile)
POS Ermittelt die Cursor-Spalte (Spalte)
LOCATE X,Y Setzt die Cursorposition
TAB X Setzt die Cursorspalte
LPOS (Schnittstelle) Ermittelt die Position im Druckerpuffer
LPRINT X Gibt die Variable X über den Drucker aus
LPRINT USING FormatString; X Druckt Die Daten Formatiert aus
WIDTH LPRINT Anzahl Legt die Zeilenbreite fest
CIRCLE (xM, yM), Radius [, Farbe]
CIRCLE (xM, yM), Radius, [Farbe], Anfang, Ende
Zeichnet einen Kreis oder KreisbodenKreis
oder Kreisbogen zeichnen
CIRCLE (xM, yM), Radius, [Farbe], Anfang, Ende,Faktor Ellipse oder Ellipsenbogen zeichnen
COLOR Farbwerte Legt die Hintergrundfarbe fest
DRAW StringAusdruck Zeichnet nach der Strringfolge
GET (xLinks, yOben)-(xRechts, yUnten), Feld Speichert den angegebenen Grafikausschnit in einem feld
LINE-(xEnde,yEnde) Zeichnet eine Gerade
LINE (xL, yO)-(xR, yU), [Farbe], B / BF Zeichnet ein Rechteck / Zeichnet ein gefülltes Rechteck
PAINT (x, y) [, FarbelMuster] [, Rand] Füllt eine Flächen
PALETTE Attribut, Farbe
PALETTE USING DatenFeld
Definiert die Farbpalette neu
PMAP (Startwert, Modus) wandelt Koordinaten um
POINT (Modus) Ermittelt die Position des Grafikcursors
POINT (x, y) Ermittelt die Farbe eines Pixels
PSET (x, y) [, Farbe]
PRESET (x, y) [, Farbe]
Zechinet ein Pixel
PUT (xLinks. yOben), Feld, Modus Zeigt die in einem Felf vohandenen Daten als Grafik an
SCREEN Modus, [l, 0/1] [, Ausgabe] [, Anzeige] Legt die Screenmodi fest
STEP Relative Koordinaten
VIEW [SCREEN] (xLinks, yOben)-(xRechts, yUnten) Definiert eine Grafikfläche
WINDOW [SCREEN] (xLinks, yOben)-(xRechts, yUnten) Definiert ein koordinatensystem
BEEP Spielt einen Signalton
PLAY StringAusdruck Spielt die Daten aus einem String
SOUND Frequenz, Dauer Spielt einen Ton
COM (Nummer) ON/OFF/STOP Kontrolliert die Seriellen Schnittstellen
INP (AnschlußNummer) Liest ein Byte von einem Geräteanschluss
IOCTL#DateiNummer, Zeichenfolge Sendet Steuerzeichen an einen Gerätetreiber
IOCTL$ (#) Status eines Gerätetreibers ermitteln
OPEN „COMnr: Optionenliste" FOR Modus AS
# DateiNummer [LEN=SatzLänge]
Initialisiert eine Serielle Schnittstelle
OUT < AnschlußNummer >, < Byte > Sendet ein Byte an einen Geräteanschluss
WATT AnschlußNummer, AND-Muster [. XOR-Muster] wartet auf ein Byte vom Geräteanschluss
Vergleichoperationen, logische Verknüpfungen
Ausdruck = Ausdruck Testet auf Gleichheit
Ausdruck <> Ausdruck Testet auf Ungleichheit
Ausdruck < Ausdruck Testet auf kleiner
Ausdruck <= Ausdruck Testet auf kleiner oder gleich
Ausdruck > Ausdruck Testet auf ob größer
Ausdruck >= Ausdruck Testet auf größer oder gleich
Bedingung AND Bedingung UND Verknüpfung der Bedingungen
Bedingung OR Bedingung ODER-Verknüpfüng von der Bedingungen
Bedingung EQV Bedingung Testet auf Äquivalenz der Bedingungen
Bedingung IMP Bedingung Implikation von Bedingungen
NOT Bedingung Kehrt Bedingungen um
ON Ausdruck GOSUB Marke Springt wenn die Bedingung gegeben ist zu einer SUB
ON Ausdruck GOTO Marke Springt wenn der Ausdruck gegeben ist zu einer
Sprungmarke
Ereignisgesteuerte Bearbeitung
ON COM (Nummer) Führt einen Befehl bei einem Schnitstellenereignissaus
ON KEY (Nummer) Führt einen Befehl bei einem Tastaturereignis aus
ON PEN GOSUB Marke Führt einen Befehl bei einem Lichtgriffelereignis
aus
ON PLAY (Anzahl) Führt einen Befehl bei der Lage im Musikpuffer aus
ON STRIG (Modus) Führt einen Befehl bei einem Joystickereignis aus
ON TIMER (Sekunden) Führt einen Befehl bei einem Zeitereignis aus
PEN (Modus) Ermittelt Lichtgriffeldaten
PEN  Kontrolliert den Lichtgriffel
PLAY (0) AErmittelt die Anzahl der Noten im Musikpuffer
PLAY  Kontrolliert den Musikpuffer
STICK (Modus) Ermittelt die Jaystickkoordinaten
STRIG (Modus) Status der Joystick-Knöpfe ermitteln
STMG (Modus) ON/OFF/STOP Kontrolliert den Joystick
TIMER Ermittelt die Anzahl der Sekunden seit 0 Uhr (Mittemacht)
TIMER ON/OFF/STOP Kontrolliert den Zeitzähler
TROFF Schaltet die Programmverfolgung aus
TRON Schaltet die Programmverfolgung ein
ERDEV Ermittelt den Status des Gerätes, das einen Fehler verursacht hat
ERDEV$ Ermittelt den Namen des Gerätes das, das einen Fehler verursacht hat
ERL Ermittelt die Nummer der Zeile, in der ein Fehler aufgetreten ist
ERR Ermittelt die Nummer eines aufgetretenen Fehlers
ERROR Nummer Simuliert einen Fehler
ON ERROR Führt nach einem Fehler den Befehl aus
RESUME [NEXT/Marke] Setzt das Programm nach Fehlerbehandlung an gegebener Stelle fort.
Mathematik
Ausdruck + Ausdruck Addieren
Ausdruck - Ausdruck Subtrahieren
Ausdruck * Ausdruck Multiplizieren
Ausdruck / Ausdruck Dividieren
Ausdruck \ Ausdruck Dividieren (Ergebnis natürlich)
EXP(Zahl) Exponentialrechnung
LOG (Zahl) Logarithmus
SIN (Zahl) Sinu
COS (Zahl) Kosinus
TAN (Zahl) Tangens
SQR (Zahl) Quadratwurzel ziehen
ATN (Zahl) Arcustangens
ABS (Zahl) Ermittelt den Absolutbetrag einer zahl
CDBL(Zahl) Wabdelt eine Zahl in eine DOUBLE um
CINT (Zahl) Wabdelt eine Zahl in eine INTEGER um
CLNG (Zahl) Wabdelt eine Zahl in eine LONG um
CSNG (Zahl) Wabdelt eine Zahl in eine SINGLE um
STR$ (Zahl) Wabdelt eine Zahl in einen String um
VAL (String) Wandelt einen String in eine Zahl um
CVD(Zahl) Wandelt einen String in einen DOUBLE um
CVI(Zahl) Wandelt einen String in eine INTEGER um
CVL(Zahl) Wandelt einen String in eine LONG um
CVS(Zahl) Wandelt einen String in eine SINGLE um
MKD$ (Zahl) Wandelt eine doppeltgenaue Gleitpunktzahl in
einen String um
MKI$ (Zahl) Wandelt eine einfache Ganzzahl in einen String um
MKL$ (Zahl) Wandelt eine große Ganzzahl in einen String um
MKS$ (Zahl) Wandelt eine einfachgenaue Gleitpunktzahl in einen String um
FIX (Zahl) Ermittelt den Natürlichen Teil einer Zahl
INT (Zahl) Rundet die Zahl auf einen Natürlichen Wert ab
Ausdruck MOD Ausdruck Ermittelt den Rest einer Ganzzahldividion
RANDOMIZE [Startwert] Startet den Zufallsgenerator
RND [(Zahl)] Erzeugt eine Zufallszahl zwischen 0 und <1
SGN (Zahl) Ermittelt das Vorzeichen einer Zahl
Programmaufbau, Subroutinen
[CALL] Name Ruft eine Prozedur auf
CALL ABSOLUTE ([Parameter,] Offset) Ruft eine Prozedur in Maschinensprache auf
DECLARE FUNCTION/SUB Name ([Parameter]) Deklariert Funktion oder Prozedur
DEF FNname [(Argumente)] = Ausdruck Definiert Funktion (einzeilig)
DEF FNname [(Argumente)] = Ausdruck
AnweisungsBlock
FNname = Ausdruck
END DEF
Definiert eine Funktion (mehrzeilig)
EXIT DEF/FUNCTION/SUB Beendet eine Funktion/Prozedur
SUB Name [(Parameter)] AnweisungsBlock
END SUB Beendet ein Unterprogramm
CHAIN Datei Ruft ein anderes Programm auf
END Beendet das Programm
GOSUB Marke Setzt das Programm in einem Unterprogramm fort
GOTO Marke Setz das Programm bei einer Marke fort
REM / ' Text Kommentartext
RETURN Kehrt von einem Unterprogramm hinter die Aufrufstelle zurück
RUN [Marke/Datei] Startet ein anderes Programm
SLEEP [Sekunden] Pause
STOP Unterbricht dasProgramm
SYSTEM Programm beenden
EXIT DEF/DO/FOR/FUNCTION/SUB Velässt den Anweisungblock
DO/Loop [WHILE/UNTIL, Bedingung] Wiederholt die Anweisungen
FOR Zähler = TO STEP
AnweisungsBlock
Zählschleife
WHILE Bedingung
WEND
Wiederholung der Befehle
Direkte Speicherzugriffe
DEF SEG = SegmentAdresse Legt das aktuelle Speichersegment fest
FRE (ZahllString) Ermittelt den freien Speicher
PEEK (Offset) Liest den Wert einer Speicherzelle
POKE Offset, Wert Schreibt einen Wert in eine Speicherzelle
VARPTR (Variable) Ermittelt die Offsetadresse einer Variable
VARPTR$ (Variable) Gibt den Typ und die Offsetadresse einer Variable als String zurück
VARSEG (Variable) Ermittelt die Segmentadresse einer Vaiablen
Strings
String + String Verknüpft zwei Strings
CHR$ (Zahl) Gibt den zugehörigen ACSII Wert aus
HEX$ (Zahl) Wandelt einen Dezimalzahl in einen Hexadezimal-String um
OCT$ (Zahl) Wandelt einen Dezimalzahl in einen Oktal-String um
STR$ (Zahl) Wandelt eine Zahl in einen String um
VAL (String) Wandelt einen String in eine Zahl um
SPACE$ (Anzahl) Erzeugt ein Leerzeichen
STRINGS (Anzahl, Zeichen/Zahl) Erzeugt einen String aus immer dem selben Zeichen
LEN (String) Ermittelt die Länge eines Strings
INSTR ([Start,] String, SuchString Sucht ein Stringstück in einem String und ermittelt
dessen Position
MID$ (String, Start, Anzahl) Gib ein Zeichen eines Stings zurück
LEFT$ (String, Anzahl) Gib ein zeichen eines Strings zurück, zählt von
rechts
RIGHT$ (String, Anzahl) Gib ein zeichen eines Strings zurück, zählt von links
LTRIM$ (String) entfernt führende Leerzeichen in einem String
RTRIM$ (String) Entfernt die folgenden Leerzeichen aus einem String
UCASE$ (String) Wandelt Klein- in Großbuchstaben um
LCASE$ (String) Wandelt Groß- in Kleinbuchstaben um


Überarbeitung und Navigation von Thomas Antoni - www.qbasic.de