Klasse CX_FORMULA - Konstanten
- (dimensionslose) numerische Konstante sind entweder ganze oder reelle Zahlen, wobei - wie in allen Programmiersprachen - die Dezimalstellen mit Punkt vom ganzzahligen Anteil abgetrennt werden: Beispiel 2.71828
- bei dimensionierte numerische Konstanten folgt eine Maßeinheit, Beispiel 2.37cm
Besteht die Maßeinheit aus einem Quotienten, so muss sie in eckige Klammern gesetzt werden -
Beispiel:
2.5 [cm/g]
da andernfalls die Maßeinheit im Nenner als Variable angesehen würde (in 2.5cm/g als Variable g, durch die zu dividieren ist).
Einige Maßeinheiten haben in unterschiedlichen Sprachen verschiedenen Namen; die dimensionsbehafteten Konstanten passen sich der aktuell eingestellten Sprache an. - Enumerationskonstanten werden aus dem Kontext im Formelausdruck erkannt, wenn sie durch einen Vergleichsoperator mit einem Datenfeld verbunden sind, für das im ClassiX®-System eine Enum-Transformationstabelle definiert ist, wie im Beispiel bf = beidseitig.
Kann eine Enumerationskonstante nicht implizit erkannt werden, muss explizit auf das die Übersetzungstabelle definierende Datenfeld verwiesen werden: Foo() = bf::beidseitig - mit dem Scope-Operator :: wird der Name des Datenfelds vorangestellt. Enumerations-Namen, die nicht der Syntax eines Bezeichners entsprechen, müssen gequotet werden: bf = "both sides".
Die Namen einer Enumerationskonstante sind fast immer sprachabhängig. Deshalb werden die Formelausdrücke entsprechend der aktuell eingestellten Sprache modifiziert. - Implizit bekannte Konstanten sind:
Name Wert Klasse pi 3.14159265 CX_NUMERIC e 2,71828182 CX_NUMERIC true 1 CX_BOOLEAN false 0 CX_BOOLEAN
Außerdem können die Namen der in InstantView® definierten Datentypen einschließlich aller im ClassiX®-System bekannten Klassen als numerische Konstante benutzt werden. Diese Werte werden z.B. im Zusammenhang mit den Funktionen type und inherited benötigt.
- Zeichenketten werden in Quotes eingeschlossen: "dies ist eine Zeichenkette"
- Bestimmte Konstanten erhält man durch folgende Funktionen, denen als Parameter eine Zeichenkette übergeben wird:
Funktion ergibt Objekt der Klasse Beispiele Date(...) CX_DATE Date("24.12.1900") Date("today") SpanDate(...) CX_SPAN_DATE SpanDate("3.1.1999 - 23.2.1999") Time(...) CX_TIME Time("12.00") Time("now") BitPattern(...) CX_BIT_PATTERN BitPattern("1011011101")