Konstanten
2, 2.1828, 3.5cm, "string", T(zwei, two, deux)
Stack | Position | Beschreibung |
---|---|---|
Stack(In) | Top | - |
Stack(Out) | Top | Wert der Konstanten |
InstantView® kennt folgende Konstanten:
Typ | Beispiel | Wert auf dem Stack |
---|---|---|
Integer | 3 | ganze Zahl |
Numeric | 3.14 | transientes Objekt CX_NUMERIC |
Value | 3.14m | transientes Objekt CX_VALUE |
String | "abc\ndef" | die Zeichenkette |
multiple String | T("drei", three, trois) | multilinguale Zeichenkette (Hinweis: Die Quote-Zeichen (") können weggelassen werden, wenn der Teiltext syntaktisch einem Identifikator entspricht.) |
Flag | NF_SET_PRECISION | Flag |
INVALID | INVALID | Ergebnis beim Lesen eines nicht vorhanden Slots; Alle Variablen halten vor der ersten Wertzuweisungen INVALID |
ACCESS_DENIED | ACCESS_DENIED | das Ergebnis beim lesenden Zugriff auf Daten, für die keine Zugriffsrechte bestehen |
Negative numerische Konstanten - Integer, Numeric, Value - müssen in runde Klammern eingeschlossen werden (um das Minuszeichen eindeutig vom Operator - zu unterscheiden). Das Minuszeichen kann vor oder hinter der Zahl stehen. Für einige ganzzahlige Konstanten gibt es vordefinierte Bezeichner.
Eine dimensionierte Konstante (ein Objekt der Klasse CX_VALUE) entsteht, wenn nach einer ganzen oder reellen Zahl der Name einer Maßeinheit folgt (in englischer Sprache). Wenn der Name der Maßeinheit (z.B. m für Meter) auch als Variablenname oder Name eines Statements verwendet wurde, hat dies Vorrang ( siehe Beispiel).
Spezielle Zeichen innerhalb einer Zeichenkette werden wie bei C/C++ ausgedrückt:
hexadezimal | Bedeutung | |
---|---|---|
\n | 0x0d | CR |
\r | 0x0a | LF |
\f | 0x0c | FF |
\t | 0x09 | Tab |
\b | 0x08 | BS |
\\ | 0x5c | das Zeichen \ |
\" | 0x22 | das Zeichen " |
\NNN | Code eines Bytes als Oktalzahl |
\xNN | Code eines Bytes als Hexadezimalzahl | Bsp: "\x41" -> "A" |
\U+NNNNNN | Unicode-Code eines Buchstabens als Hexadezimalzahl | Bsp: "\U+20AC" -> "€" |
Bei der Angabe von Zeichen über Oktal- oder Hexadezimalwerte werden maximal so viele Zeichen als Zahl interpretiert, wie N in der obigen Tabelle vorkommt. Man kann weniger Zeichen angeben, falls daraufhin kein Zeichen folgt, welches ebenfalls als Teil dieser Zahl interpretiert werden könnte. In dem Fall muss die Zahl mit führenden Nullen gefüllt werden.
Bsp: "\U+20ACB" wird als 1 Unicode-Zeichen interpretiert, aber "\U+0020ACB" als "€B".
Wenn Zeichenketten der Form "Klassezugriffs::Ausdruck" als Parameter benötigt werden (siehe Anweisung SetFormat), kann die Stringkonstante auch in der Form Path(Klasse::zugriffsausdruck) geschrieben werden, wobei hier - im Gegensatz zur Stringschreibweise "Klasse::zugriffsausdruck" - nur syntaktisch korrekte Konstruktionen möglich sind. Diese Schreibweise ist notwendig, wenn im Zugriffsausdruck als Funktionsparameter Zeichenketten auftreten, die selbst Teilzeichenketten in \"....\" enthalten (siehe Beispiel).
Hinweis: Die Stellenzahl nach dem Dezimalpunkt bestimmt bei einer numerischen Konstante die Präzision den CX_NUMERIC-Objekts
weitere Beispiele . . .