Referenz - CONST
Syntax A: CONST Symbol [AS Typ] = Ausdruck [, Symbol [AS Typ] = Ausdruck [, ...]]
Syntax B: CONST AS Typ Symbol = Ausdruck [, Symbol = Ausdruck [, ...]]
Typ: Anweisung
Kategorie: Programmorganisation
Dieser Eintrag behandelt die Anweisung CONST. Für die Klausel CONST bei der Parameterübergabe und der Deklaration von Memberfunktionen siehe
CONST (Klausel); für die Klausel CONST in SELECT-Anweisungen siehe
SELECT CASE.
CONST erzeugt ein Symbol, das als Konstante behandelt wird. Dieses Symbol kann von einem beliebigen Zahlendatentyp oder ein
STRING sein.
ZSTRING,
WSTRING und
selbstdefinierte Datentypen sind nicht möglich. Konstanten sind in jeder Prozedur und in jedem Modul verfügbar und können NICHT verändert werden.
DEFxxx-Anweisungen haben keine Auswirkungen auf CONST-Symbole.
Seit FreeBASIC v0.16 kann über die Klausel 'AS Typ' tatsächlich festgelegt werden, welchen Datentyp ein Symbol besitzen soll. Ansonsten verwendet FreeBASIC automatisch einen passenden Datentyp (in der Regel
INTEGER für Ganzzahlen und
DOUBLE für Gleitkommazahlen). Vor FreeBASIC v0.16 wurde automatisch der Datentyp gewählt, der am besten dazu geeignet ist, um die Konstante zu speichern. 'AS TYP' hatte bis zu dieser Version keine Auswirkungen auf den Datentyp des Symbols.
Bei 'AS STRING' wird geprüft, ob es sich bei dem folgenden Ausdruck tatsächlich um einen String handelt; WSTRINGs und ZSTRINGs sind als Konstanten nicht zugelassen.
Beispiel:
CONST blau = 1, rot = CAST(SHORT, 4)
CONST DoubleValue1 = 1#, DoubleValue2 = 3.0
CONST SingleValue AS SINGLE = 3.0
CONST msg = "Hallo Welt!"
PRINT LEN(blau), LEN(rot)
PRINT LEN(DoubleValue1), LEN(DoubleValue2)
PRINT LEN(SingleValue)
PRINT msg
SLEEP
Ausgabe:
4 2
8 8
4
Hallo Welt!
Da der Konstanten 'blau' eine Ganzzahl zugewiesen wurde, wird sie als INTEGER behandelt. Dieses Verhalten wurde bei 'rot' geändert, indem die zugewiesene Zahl zu einer SHORT-Variablen gecastet wurde.
'DoubleValue1' wird durch das Suffix als DOUBLE definiert, während bei 'DoubleValue2' die Schreibweise mit Dezimalpunkt ausschlaggebend ist. 'SingleValue' schließlich wurde explizit als SINGLE deklariert.
Unterschiede zu QB:
Unter QB konnte der Datentyp von Konstanten nicht festgelegt werden.
Unterschiede zu früheren Versionen von FreeBASIC:
- Seit FreeBASIC v0.16 ist es möglich, den Datentyp einer Konstante explizit festzulegen.
- Die alternative Syntax CONST AS Typ Symbol (Syntax B) existiert seit FreeBASIC v0.16
- Seit FreeBASIC v0.13 können Strings als Konstanten definiert werden.
Siehe auch:
CONST (Klausel),
DIM,
VAR,
DEFINE (Meta),
SUB,
FUNCTION,
SELECT CASE,
Datentypen
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
|
||||




FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
Versionen