Lade...
 

Konstanten

Konstanten

2, 2.1828, 3.5cm, "string", T(zwei, two, deux)

Stack
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  
223594
\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 . . .