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: Deklaration
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 UDTs sind nicht möglich.
Auf Modulebene definierte Konstanten sind in jeder Prozedur des Moduls verfügbar und können nicht verändert werden. Konstanten können auch innerhalb eines NAMESPACE- TYPE- oder SCOPE-Blocks definiert werden und folgen dann denselben Sichtbarkeitsregeln wie eine in diesen Blöcken definierte Variable.
DEFxxx-Anweisungen haben keine Auswirkungen auf CONST-Symbole.
Über die Klausel 'AS Typ' kann 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).
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 kann 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. Davor wurde automatisch der am besten geeignete Datentyp gewählt.
- 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 | ||||
---|---|---|---|---|
|