Anhang F: Vorrangregeln (Hierarchie der Operatoren)

Inhaltsverzeichnis

Index

ANHANG G: FreeBASIC-Schlüsselwörter

Es folgt eine Liste der FreeBASIC-Schlüsselwörter mit einer kurzen Erläuterung. Genaueres zu den einzelnen Befehlen finden Sie in der FreeBASIC-Referenz. Es werden nur die Schlüsselwörter aufgeführt, die in der zur Drucklegung des Buches aktuellen Compiler-Version v1.07.0 Verwendung finden (Dialektversion fb) sowie die in dieser Version reservierten, aber nicht verwendbaren Schlüsselwörter.

G.1 Schlüsselwörter

ABS
gibt den Absolutbetrag der angegebenen Zahl zurück. (siehe Kapitel 14.1.1)

ACCESS
wird zusammen mit OPEN verwendet und legt die Zugriffsrechte auf die Datei fest. (siehe Kapitel 16.1.3)

ACOS
gibt den Arcuskosinus einer Zahl zurück. (siehe Kapitel 14.1.2)

ADD
wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

ALIAS
gibt einer Prozedur in einer Library einen neuen Namen, mit dem man auf sie verweisen kann.

ALLOCATE
reserviert eine beliebige Anzahl von Bytes im Speicher (Heap) und liefert einen Pointer zum Anfang dieses Speicherbereichs.

ALPHA
wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

AND
als Operator: vergleicht zwei Werte Bit für Bit und setzt im Ergebnis nur dann ein Bit, wenn die entsprechenden Bits in beiden Ausdrücken gesetzt waren. (siehe Kapitel 10.2.2, Kapitel 10.2.4, Kapitel 14.3.1)
als Methode: wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

ANDALSO
prüft zwei Ausdrücke auf ihren Wahrheitsgehalt und gibt -1 zurück, wenn beide Ausdrücke wahr sind. Ansonsten wird 0 zurückgegeben. Sind beide Operanden vom Typ BOOLEAN, dann ist auch das Ergebnis vom Typ BOOLEAN. (siehe Kapitel 10.2.5)

ANY
wird zusammen mit DECLARE, DIM, INSTR, TRIM, LTRIM und RTRIM benutzt. Je nach Einsatzart hat es eine andere Bedeutung. (siehe Kapitel 8.4.2, Kapitel 12.5.1, Kapitel 15.2.5, Kapitel 15.2.7)

APPEND
wird zusammen mit OPEN verwendet, um eine Datei zu öffnen, an die weitere Daten angehängt werden sollen. (siehe Kapitel 16.1.2.1)

AS
wird zusammen mit verschiedenen Befehlen verwendet, um den Datentyp einer Variablen oder eines Attributs anzugeben oder die Dateinummer einer zu öffnenden Datei festzulegen. (siehe Kapitel 4.2.1, Kapitel 12.2.1, Kapitel 12.4, Kapitel 16.1.1)

ASC
liefert den ASCII-Code des Zeichens. (siehe Kapitel 13.4.2)

ASIN
gibt den Arcussinus einer Zahl zurück. (siehe Kapitel 14.1.2)

ASM
bindet Maschinensprache-Code ins Programm ein.

ASSERT
beendet das Programm unter der angegebenen Voraussetzung und gibt eine Meldung aus.

ASSERTWARN
gibt unter der angegebenen Voraussetzung eine Meldung aus.

ATAN2
gibt den Arcustangens des Quotienten zweier Zahlen zurück. (siehe Kapitel 14.1.2)

ATN
gibt den Arcustangens einer Zahl zurück. (siehe Kapitel 14.1.2)

BASE
gibt im Zusammenhang mit Vererbung die Möglichkeit, auf ein Attribut oder eine Methode der Eltern-Klasse zuzugreifen, selbst wenn die eigene Klasse ein Attribut bzw. eine Methode mit gleichem Namen besitzt.

BEEP
weist das System an, ein Tonsignal auszugeben.

BIN
gibt den binären Wert eines Ausdrucks zurück. (siehe Kapitel 10.2.4, Kapitel 14.2.2)

BINARY
wird zusammen mit OPEN verwendet, um eine Datei im Binary-Modus zu öffnen. (siehe Kapitel 16.1.2.2)

BIT
prüft, ob in einem Ausdruck das Bit an der angegebenen Stelle gesetzt ist. (siehe Kapitel 14.3.2)

BITRESET
gibt den Wert eines Ausdruck zurück, bei dem das Bit an der angegebenen Stelle gelöscht wurde. (siehe Kapitel 14.3.2)

BITSET
gibt den Wert eines Ausdruck zurück, bei dem das Bit an der angegebenen Stelle gesetzt wurde. (siehe Kapitel 14.3.2)

BLOAD
lädt einen Block binärer Daten (z. B. Bilder) aus einer Datei.

BOOLEAN
einer der Werte true oder false (siehe Kapitel 10.2.5)

BSAVE
speichert einen Block binärer Daten in eine Datei.

BYREF
legt fest, dass ein Parameter als direkte Referenz statt nur als Wert übergeben werden soll. (siehe Kapitel 12.5.2)

BYTE
eine vorzeichenbehaftete 8-bit-Ganzzahl. (siehe Kapitel 6.1.1)

BYVAL
legt fest, dass ein Parameter als Wert statt als direkte Referenz übergeben werden soll. (siehe Kapitel 12.5.2)

CALL
veraltet; kann nicht verwendet werden.

CALLOCATE
reserviert einen Bereich im Speicher (Heap) und setzt alle seine Bytes auf 0.

CASE
wird in Zusammenhang mit SELECT verwendet.

CAST
konvertiert einen Ausdruck in einen beliebigen anderen Typ. (siehe Kapitel 13.1)

CBOOL
konvertiert einen numerischen Ausdruck zu einem BOOLEAN. (siehe Kapitel 13.1)

CBYTE
konvertiert einen numerischen Ausdruck zu einem BYTE. (siehe Kapitel 13.1)

CDBL
konvertiert einen numerischen Ausdruck zu einem DOUBLE. (siehe Kapitel 13.1)

CDECL
setzt die Aufrufkonvention der Parameter auf C-DECLARE (Übergabe von rechts nach links. (siehe Kapitel 12.5.4)

CHAIN
übergibt die Kontrolle an ein anderes Programm und startet dieses. (siehe Kapitel 17.3.1)

CHDIR
ändert das aktuelle Arbeitsverzeichnis oder -laufwerk. (siehe Kapitel 17.1.2)

CHR
verwandelt einen ASCII-Code in seinen Character. (siehe Kapitel 13.4.2)

CINT
konvertiert einen numerischen Ausdruck zu einem INTEGER. (siehe Kapitel 13.1, Kapitel 14.1.4, Kapitel 14.2.2)

CIRCLE
zeichnet Kreise, Ellipsen oder Bögen.

CLASS
reserviert, aber noch ohne Funktion.

CLEAR
setzt eine Anzahl an Bytes ab einer bestimmten Adresse auf einen angegebenen Wert.

CLNG
verwandelt einen numerischen Ausdruck zu einem LONG. (siehe Kapitel 13.1)

CLNGINT
verwandelt einen numerischen Ausdruck zu einem LONGINT. (siehe Kapitel 13.1)

CLOSE
schließt Dateien, die zuvor mit OPEN geöffnet wurden. (siehe Kapitel 16.1.6)

CLS
löscht den Bildschirm und füllt ihn mit der Hintergrundfarbe. (siehe Kapitel 4.3.5)

COLOR
als Anweisung: setzt die Vorder- und Hintergrundfarbe. (siehe Kapitel 4.3.4)
als Funktion: gibt Informationen über die verwendeten Textfarben zurück.

COM
OPEN COM bereitet den Zugriff auf einen COM-Port vor. (siehe Kapitel 16.7)

COMMAND
enthält die Kommandozeilenparameter an das Programm. (siehe Kapitel 17.4)

COMMON
dimensioniert Variablen und Arrays und macht sie mehreren Modulen zugänglich.

CONDBROADCAST
sendet ein Signal an alle Threads, die auf das angegebene Handle warten, dass sie fortgesetzt werden dürfen.

CONDCREATE
erstellt eine conditional variable zur Synchronisation von Threads.

CONDDESTROY
zerstört eine mit CONDCREATE erstellte conditional variable.

CONDSIGNAL
sendet ein Signal an einen einzelnen Thread, dass er fortgesetzt werden kann.

CONDWAIT
wartet mit der Ausführung eines Threads, bis ein CONDSIGNAL oder ein CONDBROADCAST ein Signal zum Fortsetzen des Threads sendet.

CONS
OPEN CONS öffnet die Standardeingabe stdin sowie die Standardausgabe stdout. (siehe Kapitel 16.6.2)

CONST
erzeugt eine Konstante. Kann auch bei der Parameterübergabe und in SELECT CASE verwendet werden, um die Verwendung konstanter Werte zu erzwingen. (siehe Kapitel 6.5, Kapitel 10.3.3, Kapitel 12.5.3)

CONSTRUCTOR
erstellt einen Klassen-Konstruktor für ein UDT oder eine Prozedur, die vor Programmstart aufgerufen wird.

CONTINUE
springt in einer DO-, FOR- oder WHILE-Schleife an das Schleifen-Ende, wo dann die Abbruchbedingung geprüft wird. (siehe Kapitel 11.5.1)

COS
gibt den Kosinus eines Winkels im Bogenmaß zurück. (siehe Kapitel 14.1.2)

CPTR
verwandelt einen 32bit-Ausdruck in einen Pointer eines beliebigen Typs. (siehe Kapitel 13.1)

CSHORT
konvertiert einen numerischen Ausdruck zu einem SHORT. (siehe Kapitel 13.1)

CSIGN
verwandelt eine vorzeichenlose Zahl in eine vorzeichenbehaftete Zahl desselben Datentyps. (siehe Kapitel 13.1)

CSNG
konvertiert einen numerischen Ausdruck zu einem SINGLE. (siehe Kapitel 13.1)

CSRLIN
gibt die aktuelle Zeile des Cursors zurück. (siehe Kapitel 4.3.3)

CUBYTE
konvertiert einen numerischen Ausdruck zu einem UBYTE. (siehe Kapitel 13.1)

CUINT
konvertiert einen numerischen Ausdruck zu einem UINTEGER. (siehe Kapitel 13.1)

CULNG
konvertiert einen numerischen Ausdruck zu einem ULONG. (siehe Kapitel 13.1)

CULNGINT
konvertiert einen numerischen Ausdruck zu einem ULONGINT. (siehe Kapitel 13.1)

CUNSG
konvertiert eine vorzeichenbehaftete Zahl in eine vorzeichenlose Zahl desselben Datentyps. (siehe Kapitel 13.1)

CURDIR
gibt das aktuelle Arbeitsverzeichnis aus. (siehe Kapitel 17.1.2)

CUSHORT
konvertiert einen numerischen Ausdruck zu einem USHORT. (siehe Kapitel 13.1)

CUSTOM
wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

CVA_ARG
gibt das nächste Argument einer variablen Parameterliste zurück. (siehe Kapitel 12.5.5.1)

CVA_COPY
initialisiert ein Objekt für eine variable Parameterliste aus einem anderen Objekt. (siehe Kapitel 12.5.5.2)

CVA_END
gibt eine Variable vom Typ CVA_LIST frei, die zuvor mit CVA_START oder CVA_COPY angelegt wurde. (siehe Kapitel 12.5.5.1)

CVA_LIST
ist der interne Datentyp für variable Parameterlisten. (siehe Kapitel 12.5.5.1)

CVA_START
initialisiert ein Objekt für variable Parameterlisten. (siehe Kapitel 12.5.5.1)

CVD
konvertiert einen 8-Byte-String in eine DOUBLE-Zahl. Umkehrung von MKD. (siehe Kapitel 13.4.3)

CVI
konvertiert einen 4-Byte-String in eine INTEGER-Zahl. Umkehrung von MKI. (siehe Kapitel 13.4.3)

CVL
konvertiert einen 4-Byte-String in eine LONG-Zahl. Umkehrung von MKL. (siehe Kapitel 13.4.3)

CVLONGINT
konvertiert einen 8-Byte-String in eine LONGINT-Zahl. Umkehrung von MKLONGINT. (siehe Kapitel 13.4.3)

CVS
konvertiert einen 4-Byte-String in ein SINGLE. (siehe Kapitel 13.4.3)

CVSHORT
konvertiert einen 2-Byte-String in ein SHORT. Umkehrung zu MKSHORT. (siehe Kapitel 13.4.3)

DATA
speichert Konstanten im Programm, die mit READ eingelesen werden können.

DATE
gibt das aktuelle Datum im Format mm-dd-yyyy zurück. (siehe Kapitel 18.2)

DATEADD
rechnet zu einem Datum ein bestimmtes Zeitintervall hinzu und gibt das neue Datum zurück (benötigt datetime.bi). (siehe Kapitel 18.3.5)

DATEDIFF
berechnet den zeitlichen Abstand zweier Datumsangaben (benötigt datetime.bi). (siehe Kapitel 18.3.5)

DATEPART
extrahiert eine Teilangabe aus einer gegebenen Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

DATESERIAL
wandelt ein angegebenes Datum in eine Serial Number um (benötigt datetime.bi). (siehe Kapitel 18.3.2)

DATEVALUE
verwandelt einen String mit einer Datumsangabe in eine Serial Number um (benötigt datetime.bi). (siehe Kapitel 18.3.2)

DAY
extrahiert den Tag aus einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

DEALLOCATE
gibt einen mit ALLOCATE reservierten Speicher wieder frei.

DECLARE
deklariert eine neue Prozedur, um sie dem Compiler bekannt zu machen. (siehe Kapitel 12.3.1)

DEFINT, DEFLNG, DEFLONGINT, DEFSHORT, DEFSNG, DEFSTR, DEFUBYTE, DEFUINT, DEFULONGINT, DEFUSHORT
veraltet; kann nicht verwendet werden.

DELETE
löscht eine mit NEW erstellte Variable und gibt den Speicherplatz frei.

DESTRUCTOR
erstellt einen Klassen-Destruktor für ein UDT oder eine Prozedur, die am Programmende aufgerufen wird.

DIM
dimensioniert Variablen und Arrays. (siehe Kapitel 4.2.1, Kapitel 8.1, Kapitel 8.3.1)

DIR
gibt die Dateien im aktuellen Arbeitsverzeichnis oder im angegebenen Pfad zurück. (siehe Kapitel 17.2.5)

DO…LOOP
wiederholt einen Anweisungsblock, während bzw. bis eine Bedingung erfüllt ist. (siehe Kapitel 11.2)

DOUBLE
eine Gleitkommazahl mit doppelter Genauigkeit (64 Bit). (siehe Kapitel 6.2.1)

DRAW
kann für mehrere verschiedene Zeichenbefehle verwendet werden.

DRAW STRING
gibt einen Text im Grafikmodus an pixelgenauen Koordinaten aus.

DYLIBFREE
gibt den Speicher frei, der durch eine geladene dynamische Bibliothek belegt wurde.

DYLIBLOAD
lädt eine dynamische Bibliothek in den Speicher.

DYLIBSYMBOL
gibt den Pointer auf eine Prozedur oder Variable innerhalb einer dynamischen Bibbliothek zurück.

DYNAMIC
veraltet; kann nicht verwendet werden.

ELSE
wird im Zusammenhang mit IF…THEN verwendet. Es beschreibt den Fall, wenn alle anderen definierten Fälle nicht zutreffen. (siehe Kapitel 10.1.3)

ELSEIF
wird im Zusammenhang mit IF…THEN verwendet. Es beschreibt einen vom ersten Prüffall unterschiedlichen Fall. (siehe Kapitel 10.1.3)

ENCODING
wird zusammen mit OPEN verwendet, um festzulegen, in welcher Zeichenkodierung die Daten behandelt werden sollen. (siehe Kapitel 16.1.5)

END
beendet eine Blockstruktur (Prozedur, Schleife …) oder das Programm. (siehe Kapitel 10.1.2, Kapitel 17.3.1)

ENDIF
kann aus Gründen der Kompatibilität zu anderen BASIC-Dialekten anstelle von END IF verwendet werden. (siehe Kapitel 10.1)

ENUM
erzeugt eine Liste von INTEGER-Konstanten vom Typ INTEGER. (siehe Kapitel 6.6, Kapitel 14.3.2)

ENVIRON
gibt den Wert einer Systemumgebungsvariablen zurück. (siehe Kapitel 17.5)

EOF
gibt -1 zurück, wenn der Dateizeiger das Ende einer geöffneten Datei erreicht hat. (siehe Kapitel 16.1.2.1, Kapitel 16.4.1)

EQV
vergleicht zwei Werte Bit für Bit und setzt im Ergebnis nur dann ein Bit, wenn die entsprechenden Bits in beiden Ausdrücken gleichwertig waren. (siehe Kapitel 10.2.6)

ERASE
löscht dynamische Arrays aus dem Speicher oder setzt alle Elemente eines statischen Arrays auf den Initialisationswert. (siehe Kapitel 8.4.4)

ERFN
gibt einen ZSTRING PTR auf den Namen der Prozedur zurück, in der ein Fehler aufgetreten ist. Das Programm muss dabei mit der Kommandozeilenoption -exx compiliert werden.

ERL
gibt die Zeilennummer des letzten aufgetretenen Fehlers zurück.

ERMN
gibt einen ZSTRING PTR auf den Namen des Moduls zurück, in dem ein Fehler aufgetreten ist.

ERR
gibt die Fehlernummer des zuletzt aufgetretenen Fehlers zurück oder setzt die Fehlernummer.
Im Zusammenhang mit OPEN wird eine Eingabe von der Standardeingabe stdin sowie eine Ausgabe auf die Standardfehlerausgabe stderr geöffnet. (siehe Kapitel 16.6.2)

ERROR
simuliert einen Fehler.

EXEC
startet eine ausführbare Datei mit den übergebenen Argumenten. (siehe Kapitel 17.3.1)

EXEPATH
gibt das Verzeichnis zurück, in dem sich das gerade ausgeführte Programm befindet. (siehe Kapitel 17.1.3)

EXIT
verlässt eine Blockstruktur (Prozedur, Schleife …). (siehe Kapitel 11.5.2)

EXP
gibt die Potenz einer angegebenen Zahl zur eulerschen Zahl e zurück. (siehe Kapitel 14.1.3)

EXPLICIT
gibt an, dass beim Aufruf der Elemente von ENUM der Listenname mit angegeben werden muss. (siehe Kapitel 6.6)

EXPORT
wird in einer dynamischen Bibliothek für SUBs und FUNCTIONs verwendet, um sie in externen Programmen einbinden zu können.

EXTENDS
gibt bei der Klassen-Erstellung mit TYPE an, dass die Klasse die Attribute und Methoden von einer bereits bestehenden Klasse erbt.

EXTERN
wird benutzt, um auf externe Variablen zuzugreifen, die in anderen Modulen oder DLLs deklariert sind.
Als Blockstruktur wird ein Bereich erstellt, innerhalb dessen alle Deklarationen andere interne Bezeichner erhalten, als sie von FreeBASIC bekommen würden.

false
einer der beiden BOOLEAN-Werte; das Gegenteil von true

FIELD
wird zusammen mit TYPE und UNION verwendet; legt dort das Padding-Verhalten fest. (siehe Kapitel 7.3)

FILEATTR
gibt Informationen über eine mit OPEN geöffnete Datei zurück (benötigt file.bi). (siehe Kapitel 17.2.3)

FILECOPY
kopiert die Datei (benötigt file.bi). (siehe Kapitel 17.2.2)

FILEDATETIME
gibt Datum und Uhrzeit, an dem die Datei zuletzt bearbeitet wurde, als Serial Number zurück (benötigt file.bi). (siehe Kapitel 17.2.3)

FILEEXISTS
überprüft, ob eine Datei existiert oder nicht (benötigt file.bi). (siehe Kapitel 17.2.4)

FILELEN
gibt die Länge von einer Datei in Bytes zurück (benötigt file.bi). (siehe Kapitel 17.2.3)

FIX
schneidet den Nachkommateil einer Zahl ab. (siehe Kapitel 14.1.4)

FLIP
kopiert den Inhalt einer Bildschirmseite auf eine andere. Im OpenGL-Modus bewirkt FLIP eine Bildschirmaktualisierung.

FOR…NEXT
wiederholt den Codeblock zwischen FOR und NEXT, wobei eine Variable bei jedem Durchlauf um einen bestimmten Wert erhöht wird. (siehe Kapitel 11.4)
Das Schlüsselwort FOR wird außerdem bei OPEN benötigt. (siehe Kapitel 16.1.2)

FORMAT
wandelt einen numerischen Ausdruck anhand der angegebenen Formatierung in einen STRING um. (siehe Kapitel 17.2.3, Kapitel 18.3.1, Anhang E.2)

FRAC
gibt die Nachkommastellen inklusive Vorzeichen einer Zahl zurück. (siehe Kapitel 14.1.4)

FRE
gibt den verfügbaren RAM-Speicher in Bytes zurück.

FREEFILE
gibt die nächste unbenutzte Dateinummer zurück. (siehe Kapitel 16.1.1)

FUNCTION
definiert ein Unterprogramm mit Rückgabewert. (siehe Kapitel 12.4)

GET
als Dateioperation: liest Daten aus einer Datei. (siehe Kapitel 16.3.2)
als Grafikspeicherteinen Ausschnitt aus einem Grafikfenster in einem Bildpuffer.

GETJOYSTICK
gibt die Position des Joysticks und den Status seiner Buttons zurück.

GETKEY
wartet mit der Programmausführung, bis eine Taste gedrückt wird.

GETMOUSE
liefert die Position der Maus und den Status der Buttons, des Mausrads und des Clipping-Status zurück.

GOSUB
veraltet; kann nicht verwendet werden.

GOTO
springt zu einem beliebigen Label. (siehe Kapitel 11)

HEX
gibt den hexadezimalen Wert eines numerischen Ausdrucks als STRING zurück. (siehe Kapitel 14.2.2)

HIBYTE
gibt das obere Byte eines Ausdrucks als UINTEGER zurück. (siehe Kapitel 14.3.4)

HIWORD
gibt das obere Word eines Ausdrucks als UINTEGER zurück. (siehe Kapitel 14.3.4)

HOUR
extrahiert die Stunde einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

IF…THEN
führt einen Codeteil nur dann aus, wenn eine Bedingung erfüllt ist. (siehe Kapitel 10.1)

IIF
liefert einen von zwei Werten zurück, abhängig davon, ob die Bedingung erfüllt ist oder nicht. (siehe Kapitel 10.4)

IMAGECONVERTROW
kopiert eine bestimmte Anzahl von Pixeln von einem Grafikpuffer in einen anderen und konvertiert dabei die Anzahl der Bits pro Pixel in der Kopie auf einen gewünschten Wert.

IMAGECREATE
reserviert einen Speicherbereich als Datenpuffer für ein Bild.

IMAGEDESTROY
gibt einen mit IMAGECREATE reservierten Speicher wieder frei.

IMAGEINFO
gibt Informationen über das angesprochene Image zurück.

IMP
vergleicht zwei Werte Bit für Bit und setzt im Ergebnis nur dann kein Bit, wenn das zweite Operanden-Bit nicht gesetzt ist, während das Erste gesetzt ist. (siehe Kapitel 10.2.6)

IMPLEMENTS
hat bisher keine Funktion, ist als Schlüsselwort aber bereits geschützt. Zukünfig soll der Befehl eine Klasse angeben, die ein Interface (eine Schnittstelle) implementiert.

IMPORT
wird unter Win32 zusammen mit EXTERN verwendet, wenn auf globale Variablen aus DLLs zugegriffen werden muss.

INKEY
gibt einen STRING zurück, der die erste Taste im Tastaturpuffer enthält. (siehe Kapitel 5.2.2)

INP
liest ein Byte von einem Port.

INPUT
als Anweisung: liest eine Eingabe von der Tastatur oder aus einer Datei. (siehe Kapitel 5.1, Kapitel 16.2.2)
als Funktion: liest eine Anzahl an Zeichen von der Tastatur oder aus einer Datei. (siehe Kapitel 5.2.1, Kapitel 16.2.3)
als Dateimodus: wird zusammen mit OPEN verwendet, um eine Datei zum sequentiellen Lesen zu öffnen. (siehe Kapitel 16.1.2.1)

INSTR
liefert die Stelle, an der ein String das erste Mal in einem anderen String1 vorkommt. (siehe Kapitel 15.2.7)

INSTRREV
liefert die Stelle, an der ein String das letzte Mal in einem anderen String vorkommt. (siehe Kapitel 15.2.7)

INT
rundet einen numerischen Ausdruck auf die nächstkleinere Ganzzahl ab. (siehe Kapitel 14.1.4)

INTEGER
eine vorzeichenbehaftete 32-bit-Ganzzahl. (siehe Kapitel 4.2.1, Kapitel 6.1.1)

IS
prüft den Typen einer Variable. Kann nur genutzt werden, wenn die Basis-Klasse von OBJECT erbt.
IS wird auch im Zusammenhang mit SELECT CASE verwendet. (siehe Kapitel 10.3.2)

ISDATE
überprüft, ob ein String einem korrekten Datumsformat entspricht. (siehe Kapitel 18.3.2)

KILL
löscht eine Datei von einem Datenträger. (siehe Kapitel 16.5)

LBOUND
gibt den kleinsten Index des angegebenen Arrays zurück. (siehe Kapitel 8.4.1)

LCASE
wandelt einen Stringausdruck in Kleinbuchstaben. (siehe Kapitel 10.3, Kapitel 15.2.6)

LEFT
gibt die ersten Zeichen eines Strings zurück. (siehe Kapitel 15.2.3)

LEN
gibt die Größe eines Stringausdrucks oder eines Datentyps zurück. (siehe Kapitel 15.2.1)
LEN wird auch im Dateimodus RANDOM benötigt. (siehe Kapitel 16.1.2.2)

LET
ermöglicht eine mehrfache Variablenzuweisung, bei der einer Liste von Variablen die Werte der einzelnen Attribute eines UDTs zugewiesen werden.

LIB
bindet eine SUB oder FUNCTION aus einer Bibliothek ein.

LINE
zeichnet eine Strecke von einem angegebenen Punkt zu einem zweiten, oder ein Rechteck, dessen Eckpunkte die beiden angegebenen Punkte sind.

LINE INPUT
liest eine Textzeile von der Tastatur oder aus einer Datei. (siehe Kapitel 5.1, Kapitel 16.2.2)

LOBYTE
gibt das niedere Byte eines Ausdrucks als UINTEGER zurück. (siehe Kapitel 14.3.4)

LOC
gibt die Position des Zeigers innerhalb einer mit OPEN geöffneten Datei zurück. (siehe Kapitel 16.3.4)

LOCAL
bewirkt in Zusammenhang mit ON ERROR, dass die Fehlerbehandlungsroutine nur für die gerade aktive Prozedur gilt und nicht für das gesamte Modul.

LOCATE
setzt die Position des Cursors in die angegebene Zeile und Spalte oder gibt Informationen über die aktuelle Cursorposition und die Sichtbarkeit des Cursors zurück. (siehe Kapitel 4.3.1)

LOCK
sperrt den Zugriff auf eine Datei. (siehe Kapitel 16.1.4)
Achtung: funktioniert zur Zeit nicht wie vorgesehen!

LOF
gibt die Länge einer geöffneten Datei in Bytes zurück. (siehe Kapitel 16.4.2)

LOG
gibt den natürlichen Logarithmus (zur Basis e) zurück. (siehe Kapitel 14.1.3)

LONG
eine vorzeichenbehaftete 32-bit-Ganzzahl. (siehe Kapitel 6.1.1)

LONGINT
eine vorzeichenbehaftete 64-bit-Ganzzahl. (siehe Kapitel 6.1.1)

LOOP
beendet einen DO…LOOP-Block.

LOWORD
gibt das niedere Word eines Ausdrucks als UINTEGER zurück. (siehe Kapitel 14.3.4)

LPOS
gibt die Anzahl der Zeichen zurück, die seit dem letzten Zeilenumbruch an den Drucker gesendet wurden.

LPRINT, LPRINT USING
sendet Daten an den Standarddrucker. (siehe Kapitel 16.7)

LPT
OPEN LPT bereitet den Drucker zum Datenempfang vor. (siehe Kapitel 16.7)

LSET
befüllt einen Zielstring mit dem Inhalt eines Quellstrings, behält aber die Länge des Zielstrings bei. Kann auch mit UDTs verwendet werden. (siehe Kapitel 15.2.4.2)

LTRIM
entfernt bestimmte führende Zeichen aus einem String. (siehe Kapitel 15.2.5)

MID
gibt einen Ausschnitt einer Zeichenkette zurück oder ersetzt einen Teil einer Zeichenkette durch eine andere. (siehe Kapitel 15.2.3, Kapitel 15.2.4.1)

MINUTE
extrahiert die Minute einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

MKD
verwandelt ein DOUBLE in einen 8-Byte-STRING. Umkehrung von CVD. (siehe Kapitel 13.4.3)

MKDIR
erstellt einen Ordner. (siehe Kapitel 17.1.4)

MKI
verwandelt ein INTEGER in einen 4-Byte-STRING. Umkehrung von CVI. (siehe Kapitel 13.4.3)

MKL
verwandelt ein LONG in einen 4-Byte-STRING. Umkehrung von CVL. (siehe Kapitel 13.4.3)

MKLONGINT
verwandelt ein LONGINT in einen 8-Byte-STRING. Umkehrung von CVLONGINT. (siehe Kapitel 13.4.3)

MKS
verwandelt ein SINGLE in einen 4-Byte-STRING. Umkehrung von CVS. (siehe Kapitel 13.4.3)

MKSHORT
verwandelt ein SHORT in einen 2-Byte-STRING. Umkehrung von CVSHORT. (siehe Kapitel 13.4.3)

MOD
gibt den Rest der Division zurück (Modulo). (siehe Kapitel 14.1.5)

MONTH
extrahiert den Monat einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

MONTHNAME
extrahiert den Namen des Monats einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.4)

MULTIKEY
zeigt an, ob die angegebene Taste gerade gedrückt wird.

MUTEXCREATE
erstellt einen Mutex.

MUTEXDESTROY
löscht einen Mutex.

MUTEXLOCK
sperrt den Zugriff auf einen Mutex.

MUTEXUNLOCK
entsperrt einen Mutex.

NAKED
erstellt Funktionen ohne Handlingcode.

NAME
benennt eine Datei um. (siehe Kapitel 17.2.1)

NAMESPACE
definiert einen Codeteil als Namespace, innerhalb dessen Symbole benutzt werden können, die in einem anderem Namespace bereits benutzt wurden.

NEW
weist dynamisch Speicher zu und erzeugt Daten bzw. Objekte.

NEXT
beendet einen FOR…NEXT-Block.

NOT
vertauscht die Bits im Quellausdruck; aus 1 wird 0 und aus 0 wird 1. (siehe Kapitel 10.2.6)

NOW
gibt die aktuelle Systemzeit als Serial Number aus (benötigt datetime.bi). (siehe Kapitel 18.3.1)

OBJECT
wird in Verbindung mit Vererbung genutzt. Will man über IS den Typ einer Variablen erfahren, muss die Basis-Klasse von OBJECT erben.

OCT
gibt den oktalen Wert eines numerischen Ausdrucks als STRING zurück. (siehe Kapitel 14.2.2)

OFFSETOF
gibt den Offset (Abstand in Byte zur Adresse des UDTs) eines Attributs innerhalb eines UDTs zurück. (siehe Kapitel 7.3)

ON…GOTO
verzweigt zu verschiedenen Labels, abhängig vom Wert des Ausdrucks. GOTO]

ON ERROR
bewirkt einen Programmsprung an ein angegebenes Label, sobald ein Fehler auftritt.

OPEN
öffnet eine Datei oder ein Gerät zum Lesen und/oder schreiben. (siehe Kapitel 16.1)

OPERATOR
deklariert oder definiert einen überladenen Operator.

OPTION
ermöglicht es, zusätzliche Attribute oder Merkmale zu setzen.

OR
als Operator: vergleicht zwei Werte Bit für Bit und setzt im Ergebnis nur dann ein Bit, wenn mindestens ein Bit der entsprechenden Stelle in den Ausdrücken gesetzt waren. (siehe Kapitel 10.2.2, Kapitel 10.2.4, Kapitel 14.3.1)
als Methode: wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

ORELSE
prüft zwei Ausdrücke auf ihren Wahrheitsgehalt und gibt -1 zurück, wenn mindestens einer der beiden Ausdrücke wahr ist. Ansonsten wird 0 zurückgegeben. Sind beide Operanden vom Typ BOOLEAN, dann ist auch das Ergebnis vom Typ BOOLEAN. (siehe Kapitel 10.2.5)

OUT
schreibt ein Byte an einen Ausgabeport.

OUTPUT
wird zusammen mit OPEN verwendet, um eine Datei zum sequentiellen Schreiben zu öffnen. (siehe Kapitel 16.1.2.1)

OVERLOAD
ermöglicht die Definition von Prozeduren mit unterschiedlicher Parameterliste, aber gleichem Prozedurnamen. (siehe Kapitel 12.3.3)

OVERRIDE
gibt an, dass die dazugehörige Methode eine virtuelle oder abstrakte Methode seiner Elternklasse überschreiben muss.

PAINT
füllt in einem Grafikfenster einen Bereich mit einer Farbe.

PALETTE
bearbeitet die aktuelle Farbpalette.

PALETTE GET
speichert den Farbwert eines Palette-Eintrags.

PASCAL
setzt die Aufrufkonvention der Parameter auf die in PASCAL-Bibliotheken übliche Konvention (Übergabe von links nach rechts. (siehe Kapitel 12.5.4)

PCOPY
kopiert den Inhalt einer Bildschirmseite auf eine andere.

PEEK
liest einen Wert direkt vom RAM.

PIPE
wird zusammen mit OPEN verwendet, um ein Programm zu starten und die Eingabe oder Ausgabe auf dieses Programm umzuleiten. (siehe Kapitel 16.6.3)

PMAP
wandelt Sichtfensterkoordinaten in physische Koordinaten und umgekehrt.

POINT
gibt Informationen über die Farbe eines Pixels oder über die aktuelle Position des Grafikcursors zurück.

POINTER
wird zusammen mit einem Datentyp verwendet, um einen Pointer dieses Typs zu definieren. POINTER ist identisch mit PTR. (siehe Kapitel 9.2)

POKE
schreibt einen Wert direkt in den RAM.

POS
gibt die horizontale Position des Cursors zurück. (siehe Kapitel 4.3.3)

PRESERVE
wird zusammen mit REDIM benutzt, um ein Array zu redimensionieren, ohne seine Elemente zu löschen. (siehe Kapitel 8.3.2)

PRESET
als Anweisung: zeichnet einen einzelnen Pixel, standardmäßig in der Hintergrundfarbe.
als Methode: wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

PRINT
gibt einen Text auf dem Bildschirm oder in eine Datei aus. (siehe Kapitel 4.1, Kapitel 16.2.1)

PRIVATE
Verwendung mit SUB und FUNCTION: legt fest, dass die Prozedur nur aus dem Modul heraus aufgerufen werden kann, in dem sie sich befinden.
Verwendung in einem UDT: legt fest, dass ein Zugriff auf die folgenden Deklarationen nur von UDT-eigenen Prozeduren aus zulässig ist.

PROCPTR
gibt die Adresse einer Prozedur im Speicher zurück.

PROPERTY
erstellt eine Property einer Klasse.

PROTECTED
wird innerhalb einer UDT-Deklaration verwendet und legt fest, dass ein Zugriff auf die folgenden Deklarationen nur von UDT-eigenen Prozeduren aus zulässig ist.

PSET
als Anweisung: zeichnet einen einzelnen Pixel, standardmäßig in der Vordergrundfarbe.
als Methode: wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

PTR
wird zusammen mit einem Datentyp verwendet, um einen Pointer dieses Typs zu definieren. PTR ist identisch mit POINTER. (siehe Kapitel 9.2)

PUBLIC
Verwendung mit SUB und FUNCTION: legt fest, dass die Prozedur von allen Modulen heraus aufgerufen werden kann.
Verwendung in einem UDT: legt fest, dass ein Zugriff auf die folgenden Deklarationen von jeder Prozedur aus zulässig ist.

PUT
als Dateioperation: schreibt Daten in eine Datei. (siehe Kapitel 16.3.1)
als Grafiküberträgteinen Ausschnitt aus einem Bildpuffer auf das Grafikfenster.

RANDOM
wird zusammen mit OPEN verwendet, um eine Datei im Random-Modus zu öffnen. (siehe Kapitel 16.1.2.2)

RANDOMIZE
initialisiert den Zufallsgenerator. (siehe Kapitel 14.1.6)

READ
liest Daten, die zuvor mit DATA gespeichert wurden.

REALLOCATE
ändert die Größe eines mit ALLOCATE oder CALLOCATE reservierten Speicherbereichs.

REDIM
erstellt ein dynamisches Array oder ändert dessen Größe. (siehe Kapitel 8.3.1, Kapitel 11.2)

REM
leitet einen Kommentar ein. (siehe Kapitel 3.2)

RESET
schließt alle geöffneten Dateien oder setzt die Standardeingabe bzw. -ausgabe zurück. (siehe Kapitel 16.6.2)

RESTORE
gibt an, welche mit DATA gespeicherten Variablen von der nächsten READ-Anweisung gelesen werden sollen.

RESUME
veraltet; kann nicht verwendet werden.

RETURN
verlässt eine FUNCTION oder SUB. (siehe Kapitel 12.4)

RGB
errechnet die gültige 32-Farbnummer bei angegebenem Rot-, Grün- und Blauanteil.

RGBA
errechnet die gültige 32-Farbnummer bei angegebenem Rot-, Grün-, Blau- und Alphawert.

RIGHT
gibt die letzten Zeichen eines Strings zurück. (siehe Kapitel 15.2.3)

RMDIR
löscht ein leeres Verzeichnis aus dem Dateisystem. (siehe Kapitel 17.1.4)

RND
gibt ein zufälliges DOUBLE im Intervall [0;1[ zurück. (siehe Kapitel 14.1.6)

RSET
befüllt einen Zielstring mit dem Inhalt eines Quellstrings, behält aber die Länge des Zielstrings bei. (siehe Kapitel 15.2.4.2)

RTRIM
entfernt bestimmte angehängte Zeichen aus einem String. (siehe Kapitel 15.2.5)

RUN
startet eine ausführbare Datei. (siehe Kapitel 17.3.1)

SADD
gibt einen Pointer auf eine STRING-Variable zurück. SADD ist identisch mit STRPTR.

SCOPE
öffnet einen Block, in dem Variablen temporär (re)dimensioniert und benutzt werden können.

SCREEN
als Funktion: gibt Informationen über den Text im Programmfenster zurück.
als Anweisung: setzt den aktuellen Bildschirm-Grafikmodus; sollte durch SCREENRES ersetzt werden.

SCREENCONTROL
ermittelt oder bearbeitet Einstellungen der gfxlib.

SCREENCOPY
kopiert den Inhalt einer Bildschirmseite in eine andere.

SCREENEVENT
gibt Informationen zu einem Systemereignis zurück, welches das Grafikfenster betrifft.

SCREENGLPROC
ermittelt die Adresse einer OpenGL-Prozedur.

SCREENINFO
gibt Informationen über den aktuellen Videomodus zurück.

SCREENLIST
gibt eine Liste aller unterstützten Bildschirmauflösungen zurück.

SCREENLOCK
sperrt den Zugriff auf eine Bildschirmseite.

SCREENPTR
gibt einen Pointer zurück, der auf den Datenbereich der aktiven Bildschirmseite zeigt.

SCREENRES
initiiert ein Grafikfenster.

SCREENSET
setzt die aktive und die sichtbare Bildschirmseite.

SCREENSYNC
wartet mit der Programmausführung auf eine Bildschirmaktualisierung.

SCREENUNLOCK
hebt eine Sperrung durch SCREENLOCK auf.

SCRN
OPEN SCRN öffnet die Standardausgabe. (siehe Kapitel 16.6.2)

SECOND
extrahiert die Sekunde einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

SEEK
setzt die Position des Zeigers innerhalb einer Datei oder gibt die Position zurück. (siehe Kapitel 16.3.4)

SELECT CASE
führt, abhängig vom Wert eines Ausdrucks, bestimmte Codeteile aus. (siehe Kapitel 10.3.1)

SETDATE
ändert das Systemdatum. (siehe Kapitel 18.2)

SETENVIRON
verändert die Systemumgebungsvariablen. (siehe Kapitel 17.5)

SETMOUSE
setzt die Koordinaten des Mauscursors und bestimmt, ob die Maus sichtbar oder unsichtbar ist.

SETTIME
setzt die neue Systemzeit. (siehe Kapitel 18.2)

SGN
gibt einen Wert aus, der das Vorzeichen eines Ausdrucks identifiziert. (siehe Kapitel 14.1.1)

SHARED
bewirkt im Zusammenhang mit DIM, REDIM, COMMON und STATIC, dass Variablen sowohl auf Modulebene als auch innerhalb von Prozeduren verfügbar sind. (siehe Kapitel 12.2.2)

SHELL
führt ein Systemkommando aus und gibt die Kontrolle an das aufrufende Programm zurück, sobald das aufgerufene Kommando abgearbeitet wurde. (siehe Kapitel 17.3.2)

SHL
verschiebt alle Bits in der Variablen um eine bestimmte Stellenzahl nach links. (siehe Kapitel 14.3.5)

SHORT
eine vorzeichenbehaftete 16-bit-Ganzzahl. (siehe Kapitel 6.1.1)

SHR
verschiebt alle Bits in der Variablen um eine bestimmte Stellenzahl nach rechts. (siehe Kapitel 14.3.5)

SIN
gibt den Sinus eines Winkels im Bogenmaß zurück. (siehe Kapitel 14.1.2)

SINGLE
eine Gleitkommazahl mit einfacher Genauigkeit (32 Bit). (siehe Kapitel 6.2.1)

SIZEOF
gibt die Größe einer Struktur im Speicher in Bytes aus. (siehe Kapitel 7.3)

SLEEP
wartet eine bestimmte Zeit oder bis eine Taste gedrückt wird. (siehe Kapitel 4.1, Kapitel 11.4.2, Kapitel 11.6, Kapitel 18.1.1)

SPACE
gibt einen STRING zurück, der aus Leerzeichen besteht. (siehe Kapitel 12.3.3, Kapitel 15.2.2)

SPC
wird im Zusammenhang mit PRINT verwendet, um Texteinrückungen zu erzeugen. (siehe Kapitel 4.3.2)

SQR
gibt die Quadratwurzel eines Wertes aus. (siehe Kapitel 14.1.1)

STATIC
erlaubt in Prozeduren die Verwendung von Variablen, deren Wert beim Beenden der Prozedur gespeichert wird und beim nächsten Prozeduraufruf wieder verfügbar sind. (siehe Kapitel 12.2.3)
Innerhalb einer UDT-Definition deklariert STATIC Methoden, die auch aufgerufen werden können, ohne dass eine Instanz des UDTs existieren muss.

STDCALL
setzt die Aufrufkonvention der Parameter auf die in Standard-Aufrufkonvention für FreeBASIC und die Microsoft Win32-API (Übergabe von rechts nach links). (siehe Kapitel 12.5.4)

STEP
gibt in einer FOR-Schleife die Schrittweite der Zählvariablen an. (siehe Kapitel 11.4, Kapitel 11.4.2)
In Grafikbefehlen legt STEP fest, dass die darauf folgenden Koordinaten relativ zum aktuellen Grafikcursor angegeben sind.

STOP
beendet das Programms; sollte durch END ersetzt werden.

STR
verwandelt einen numerischen Ausdruck in einen STRING. (siehe Kapitel 13.2)

STRING
eine Zeichenkette variabler oder fester Länge. (siehe Kapitel 4.2.1, Kapitel 6.3.1, Kapitel 15.1.3)
Als Funktion gibt STRING() eine Zeichenkette mit lauter gleichen Zeichen zurück. (siehe Kapitel 15.2.2)

STRPTR
gibt einen Pointer zu einer String-Variablen zurück.

SUB
definiert ein Unterprogramm. (siehe Kapitel 12.1)

SWAP
tauscht die Werte zweier Variablen vom selben Typ. (siehe Kapitel 4.2.3)

SYSTEM
beendet das Programms; sollte durch END ersetzt werden.

TAB
wird zusammen mit PRINT benutzt, um die Ausgabe in der angegebenen Spalte fortzusetzen. (siehe Kapitel 4.3.2)

TAN
gibt den Tangens eines Winkels im Bogenmaß zurück. (siehe Kapitel 14.1.2)

THEN
wird zusammen mit IF…THEN verwendet.

THIS
wird in Prozeduren eines UDTs verwendet, um auf die Attribute und Methoden des UDTs zuzugreifen.

THREADCALL
startet eine Prozedur des Programms als eigenständigen Thread.

THREADCREATE
startet eine Prozedur des Programmes als eigenständigen Thread.

THREADWAIT
wartet mit der Fortsetzung des Hauptprogramms, bis eine Prozedur, die mit THREADCREATE oder THREADCALL als eigener Thread gestartet wurde, beendet ist.

TIME
gibt die aktuelle Uhrzeit im Format hh:mm:ss aus. (siehe Kapitel 18.2)

TIMER
gibt die Zahl der Sekunden zurück, die seit dem Systemstart (unter DOS/Windows) bzw. seit der Unix-Epoche (unter Unix/Linux) vergangen sind. (siehe Kapitel 18.1.2)

TIMESERIAL
wandelt eine angegebene Uhrzeit in eine Serial Number um (benötigt datetime.bi). (siehe Kapitel 18.3.2)

TIMEVALUE
wandelt einen STRING mit einer Zeitangabe in eine Serial Number um (benötigt datetime.bi). (siehe Kapitel 18.3.2)

TO
gibt Bereiche für die Befehle FOR…NEXT, DIM, SELECT CASE und LOCK an. (siehe Kapitel 8.1, Kapitel 10.3.2, Kapitel 11.4)

TRANS
wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

TRIM
gibt einen String aus, aus dem bestimmte führende oder angehängte Zeichen entfernt werden sollen. (siehe Kapitel 15.2.5)

true
einer der beiden BOOLEAN-Werte; das Gegenteil von false

TYPE
erstellt ein UDT (user defined type). (siehe Kapitel 7)

TYPEOF
gibt zur Compilierzeit den Datentypen zurück.

UBOUND
gibt den größten Index des angegebenen Arrays zurück. (siehe Kapitel 8.4.1)

UBYTE
eine vorzeichenlose 8-bit-Ganzzahl. (siehe Kapitel 6.1.1)

UCASE
wandelt einen Stringausdruck in Großbuchstaben. (siehe Kapitel 15.2.6)

UINTEGER
eine vorzeichenlose 32-bit-Ganzzahl. (siehe Kapitel 6.1.1)

ULONG
eine vorzeichenlose 32-bit-Ganzzahl. (siehe Kapitel 6.1.1)

ULONGINT
eine vorzeichenlose 64-bit-Ganzzahl. (siehe Kapitel 6.1.1)

UNION
definiert einen UDT, dessen Elemente sich eine Speicherstelle teilen. (siehe Kapitel 7.5, Kapitel 13.4.3)

UNLOCK
entsperrt eine mit LOCK gesperrte Datei.

UNSIGNED
erzeugt einen ganzzahligen Datentyp, der vorzeichenlos ist.

UNTIL
wird mit DO…LOOP verwendet. (siehe Kapitel 11.2)

USHORT
eine vorzeichenlose 16-bit-Ganzzahl. (siehe Kapitel 6.1.1)

USING
bindet die Symbole eines Namespaces in den globalen Namespace ein.
In Zusammenhang mit PRINT und LPRINT erzeugt USING eine formatierte Ausgabe.

VA_ARG
gibt den Wert eines Parameters in der Parameterliste einer Prozedur zurück. (siehe Kapitel 12.5.5.3)

VA_FIRST
gibt einen Pointer auf den ersten Parameter einer variablen Parameterliste zurück. (siehe Kapitel 12.5.5.3)

VA_NEXT
setzt den Pointer, der auf ein Argument einer variablen Parameterliste zeigt, auf das nächste Argument. (siehe Kapitel 12.5.5.3)

VAL
konvertiert einen STRING zu einer Zahl. (siehe Kapitel 13.1)

VALINT
konvertiert einen STRING zu einem INTEGER. (siehe Kapitel 13.1)

VALLNG
konvertiert einen STRING zu einem LONGINT. (siehe Kapitel 13.1)

VALUINT
konvertiert einen STRING zu einem UINTEGER. (siehe Kapitel 13.1)

VALULNG
konvertiert einen STRING zu einem ULONGINT. (siehe Kapitel 13.1)

VAR
deklariert eine Variable, deren Typ aus dem initialisierenden Ausdruck abgeleitet wird.

VARPTR
gibt die Adresse einer Variablen im Speicher zurück.

VIEW
setzt die Grenzen des Grafik- oder Textanzeigebereichs (Clipping) oder gibt die Grenzen des Textanzeigebereichs zurück.

VIRTUAL
dient zum deklarieren virtuelle Methoden, die von erbenden Klassen überschrieben werden.

WAIT
liest regelmäßig ein Byte von einem Port und wartet mit der Programmausführung, bis dieses Byte bestimmte Bedingungen erfüllt.

WBIN
gibt den binären Wert eines Ausdrucks als WSTRING zurück. (siehe Kapitel 14.2.2)

WCHR
verwandelt einen Unicode-Wert in seinen Character. (siehe Kapitel 13.4.2)

WEEKDAY
extrahiert den Wochentag (1 bis 7) aus einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

WEEKDAYNAME
gibt den Namen eines Wochentags aus (benötigt datetime.bi). (siehe Kapitel 18.3.4)

WEND
beendet einen WHILE…WEND-Block. (siehe Kapitel 11.3)

WHEX
gibt den hexadezimalen Wert eines numerischen Ausdrucks als WSTRING zurück. (siehe Kapitel 14.2.2)

WHILE
wird mit DO…LOOP und bei einer WHILE…WEND-Schleife verwendet. (siehe Kapitel 11.2)

WIDTH
legt die Anzahl der Zeilen sowie der Zeichen pro Zeile für die Textausgabe fest oder gibt Informationen über die aktuelle Einstellung zurück.

WINDOW
bestimmt den neuen physischen Darstellungsbereich.

WINDOWTITLE
ändert die Beschriftung eines Grafikfensters.

WINPUT
liest eine Anzahl an Zeichen von der Tastatur oder aus einer Datei und gibt sie als WSTRING zurück. (siehe Kapitel 16.2.3)

WITH
erlaubt es, auf die Attribute und Methoden eines UDTs zuzugreifen, ohne den Namen des UDTs mit angeben zu müssen. (siehe <<>>, Kapitel 7.1)

WOCT
gibt den oktalen Wert eines Ausdrucks als WSTRING zurück. (siehe Kapitel 14.2.2)

WRITE
gibt einen Text auf dem Bildschirm oder in eine Datei aus, formatiert dabei aber anders als PRINT. (siehe Kapitel 16.2.1)

WSPACE
gibt einen WSTRING zurück, der aus Leerzeichen besteht. (siehe Kapitel 15.2.2)

WSTR
verwandelt einen numerischen Ausdruck in einen WSTRING. (siehe Kapitel 13.2)

WSTRING
eine nullterminierte wide-chars-Zeichenkette. (siehe Kapitel 6.3.1, Kapitel 15.1.2)
Als Funktion gibt WSTRING() eine Zeichenkette mit lauter gleichen wide-chars zurück. (siehe Kapitel 15.2.2)

XOR
als Operator: vergleicht zwei Werte Bit für Bit und setzt im Ergebnis nur dann ein Bit, wenn eines der beiden Bits in den Ausdrücken gesetzt war, aber nicht beide. (siehe Kapitel 10.2.6, Kapitel 14.3.1)
als Methode: wird im Zusammenhang mit PUT und DRAW STRING eingesetzt und bestimmt die Art, wie die zu zeichnende Grafik mit den Pixeln auf dem Bildschirm interagieren sollen.

YEAR
extrahiert das Jahr aus einer Serial Number (benötigt datetime.bi). (siehe Kapitel 18.3.3)

ZSTRING
eine nullterminierte Zeichenkette. (siehe Kapitel 6.3.1, Kapitel 15.1.1)

G.2 Metabefehle

#DEFINE
Symbol definieren

DEFINED
Überprüfen, ob ein Symbol definiert wurde

#ERROR
Fehlermeldung ausgeben

#IF, #ELSEIF, #ELSE, #ENDIF
Bedingung abprüfen

#IFDEF, #IFNDEF
Definition eines Symbols testen

#INCLIB
Bibliothek einbinden

#INCLUDE, #INCLUDE ONCE
externen Quelltext oder Header-Datei einbinden (siehe Kapitel 17.2)

#LANG
Dialektform festlegen

#LIBPATH
Pfad für Bibliotheken hinzufügen

#LINE
Zeilennummer und Modulnamen festlegen

#MACRO, #ENDMACRO
Makro definieren

#PRAGMA
Compiler-Optionen ändern

#PRINT
Compilermeldung ausgeben

#UNDEF
Symbol löschen

G.3 Vordefinierte Symbole

__DATE__
gibt das Compilier-Datum im Format mm-dd-yyyy an.

__DATE_ISO__
gibt das Compilier-Datum im Format yyyy-mm-dd an.

__FB_ARGC__
gibt die Anzahl der Argumente an, die in der Kommandozeile für den Programmaufruf verwendet wurden.

__FB_ARGV__
gibt einen Pointer auf einen Speicherbereich zurück, in dem sich weitere ZSTRING PTRs befinden, die auf die einzelnen Kommandozeilenparameter im Programmaufruf zeigen.

__FB_BACKEND__
gibt an, ob Maschinencode (gas) oder C-Emitter-Code (gcc) erzeugt wurde.

__FB_BIGENDIAN__
wird immer dann definiert, wenn für ein System compiliert werden soll, das die big-endian-Regeln anwendet.

__FB_BUILD_DATE__
gibt das Datum (mm-dd-yyyy) aus, an dem der FB-Compiler erstellt wurde.

__FB_CYGWIN__
wird definiert, wenn der Code in der Cygwin-Umgebung umgesetzt werden soll.

__FB_DARWIN__
wird definiert, wenn der Code für Darwin umgesetzt werden soll.

__FB_DEBUG__
enthält den Wert -1, wenn beim Compilieren die Kommandozeilenoption -g angewandt wurde; andernfalls hat es den Wert 0.

__FB_DOS__
wird definiert, wenn der Code von der DOS-Version des Compilers umgesetzt wird.

__FB_ERR__
gibt an, welche Art der Fehlerunterstützung beim Compilieren gewählt wurde: 1 für -e, 3 für -ex, 7 für -exx. Wurde keine Fehlerprüfung aktiviert, wird 0 zurückgegeben.

__FB_FPMODE__
enthält den Wert fast, wenn der Compiler SSE floating point arithmetics compiliert.

__FB_FPU__
enthält den Wert sse, wenn mit SSE floating point arithmetics compiliert wurde. Ansonsten hat es den Wert x87.

__FB_FREEBSD__
wird definiert, wenn der Code für den FreeBSD-Compiler umgesetzt werden soll.

__FB_LANG__
gibt an, nach welchen FB-Dialektregeln compiliert wird: fb, fblite, deprecated oder qb.

__FB_LINUX__
wird definiert, wenn der Code von der Linux-Version des Compilers umgesetzt werden soll.

__FB_MAIN__
wird definiert, sobald die Symbole und Makros des Hauptmoduls übersetzt werden.

__FB_MIN_VERSION__
vergleicht die Version des verwendeten Compilers mit den angegebenen Daten. Es gibt -1 aus, wenn die Version des Compilers größer oder gleich den Spezifikationen ist, bzw. 0, wenn die Version kleiner ist.

__FB_MT__
gibt an, ob der Code mit der FB-Multithread-Lib umgesetzt wird (-1) oder mit der FB-Standard-Lib (0).

__FB_NETBSD__
wird definiert, wenn der Code in der Version für den NetBSD-Compiler umgesetzt werden soll.

__FB_OPENBSD__
wird definiert, wenn der Code in der Version für den OpenBSD-Compiler umgesetzt werden soll.

__FB_OPTION_BYVAL__
enthält den Wert -1, wenn die Variablenübergabe standardmäßig BYVAL geschieht, bzw. 0, wenn dies nicht der Fall ist.

__FB_OPTION_DYNAMIC__
enthält den Wert -1, wenn OPTION DYNAMIC verwendet wird, bzw. 0, wenn dies nicht der Fall ist.

__FB_OPTION_ESCAPE__
enthält den Wert -1, wenn OPTION ESCAPE verwendet wird, bzw. 0, wenn dies nicht der Fall ist.

__FB_OPTION_EXPLICIT__
enthält den Wert -1, wenn OPTION EXPLICIT verwendet wird, bzw. 0, wenn dies nicht der Fall ist.

__FB_OPTION_GOSUB__
enthält den Wert -1, wenn OPTION GOSUB verwendet wird, bzw. 0, wenn dies nicht der Fall ist.

__FB_OPTION_PRIVATE__
enthält den Wert -1, wenn SUBs und FUNCTIONs standardmäßig nur innerhalb des Moduls gültig sind.

__FB_OUT_DLL__
enthält den Wert -1, wenn der Code zu einer dynamischen Bibliothek (*.dll bzw. *.so) compiliert wird, bzw. 0, wenn zu einem anderen Typ compiliert wird.

__FB_OUT_EXE__
enthält den Wert -1, wenn der Code zu einer ausführbaren Datei compiliert wird, bzw. 0, wenn zu einem anderen Typ compiliert wird.

__FB_OUT_LIB__
enthält den Wert -1, wenn der Code zu einer statischen Bibliothek (*.lib) compiliert wird, bzw. 0, wenn zu einem anderen Typ compiliert wird.

__FB_OUT_OBJ__
enthält den Wert -1, wenn der Code zu einer Objektdatei (*.obj) compiliert wird, bzw. 0, wenn zu einem anderen Typ compiliert wird.

__FB_PCOS__
wird definiert, wenn der Code in einem Betriebssystem umgesetzt wird, dessen Dateisystem PC-artig aufgebaut ist.

__FB_SIGNATURE__
gibt einen String zurück, der die Signatur des Compilers enthält, z. B. FreeBASIC 1.07.1

__FB_SSE__
wird definiert, wenn der Compiler SSE floating point arithmetics compiliert.

__FB_UNIX__
wird definiert, wenn der Code in einem UNIX-artigen Betriebssystem compiliert wurde.

__FB_VECTORIZE__
enthält das durch die Compiler-Option -vec eingestellte Level (0, 1 oder 2).

__FB_VER_MAJOR__
enthält die Version des Compilers enthält, z. B. 1

__FB_VER_MINOR__
enthält die Version des Compilers enthält, z. B. 7

__FB_VER_PATCH__
enthält die Version des Compilers enthält, z. B. 1

__FB_VERSION__
enthält die Version des Compilers enthält, z. B. 0.24.0

__FB_WIN32__
wird definiert, wenn der Code von der Win32-Version des Compilers umgesetzt wird.

__FB_XBOX__
wird definiert, wenn der Code für die Xbox umgesetzt werden soll.

__FILE__
enthält den Dateinamen des Moduls, die gerade umgesetzt wird.

__FILE_NQ__
enthält den Dateinamen des Moduls, das gerade umgesetzt wird. Die Zeichenkette wird nicht durch Anführungszeichen eingeschlossen.

__FUNCTION__
enthält den Namen der Prozedur (FUNCTION oder SUB), die gerade umgesetzt wird.

__FUNCTION_NQ__
enthält den Namen der Prozedur (FUNCTION oder SUB), die gerade umgesetzt wird. Die Zeichenkette wird nicht durch Anführungszeichen eingeschlossen.

__LINE__
enthält die Zeile, die gerade umgesetzt wird.

__PATH__
enthält den Namen des Verzeichnisses, in dem sich die Quelltext-Datei befindet, die gerade umgesetzt wird.

__TIME__
enthält die Compilier-Uhrzeit im Format hh:mm:ss.


Anhang F: Vorrangregeln (Hierarchie der Operatoren)

Inhaltsverzeichnis

Index