wiki-spaces-s1-pages-87982081.md
By Andreas Langmaack (Unlicensed)
Apr 24, 2024
7 min
Add a reaction
Ausdrücke arbeiten mit folgenden Datentypen:
„Boolean“ (analog VB/VBA wird False durch 0 und True durch -1 repräsentiert, andere Werte werden als True ausgewertet)
„Int32“
„Decimal“
„Date“
„DateTime“
„Time“
„String“
Der Datentyp „Int16“ ist ebenfalls erlaubt, wird allerdings vor Berechnungen automatisch in „Int32“ konvertiert.
Datentypen werden bei Bedarf wie folgt konvertiert (recht restriktiv, um Fehler auszuschließen):
„Boolean“ wird
„Int32“ wird
„Decimal“ wird
„Date“ wird
„DateTime“ wird
„String“ wird nicht automatisch konvertiert
Ergebnisse werden wiederum entsprechend dem Ziel konvertiert, wobei anstelle von „Int32“-Konvertierungen bei Bedarf auch „Int16“-Konvertierungen vorgenommen werden.
Ausdrücke enthalten einen berechenbaren Ausdruck, der aus folgenden Elementen bestehen kann:
Feldreferenzen zum Referenzieren von Werten in den aktuell geladenen Daten (siehe Kapitel Feldreferenzen)
numerische Werte, bestehend aus Ziffern, optionalem Plus- oder Minus-Vorzeichen und optionalem Punkt als Dezimalzeichen
numerische Operatoren:
Vergleichsoperatoren („<“, „>“, „<=“, „>=“, „=“ und „<>“; diese liefern als Ergebnis False und True)
logische Operatoren („NOT“, „AND“, „OR“ und „XOR“)
Strings, eingeschlossen in Anführungszeichen ( “ )
String-Verkettung mit „&“
Datums-Konstanten im ISO-Format („yyyy-mm-dd“ bzw. „yyyy-mm-ddThh:mm:ss“) in Abgrenzungszeichen ( „#“ )
Beispiel: „#2014-12-24#“ bzw. „#2014-12-24T18:45:00#“
Zeit-Konstanten analog zu Datums-Konstanten („Thh:mm:ss“) in Abgrenzungszeichen ( „#“ )
Konstanten:
numerische Funktionen:
Datum-Zeit-Funktionen:
String-Funktionen:
Hinweise:
Funktionalität gleicht der der .NET-Funktion "Regex.IsMatch", siehe auch https://msdn.microsoft.com/de-de/library/sdx2bds0(v=vs.110).aspx)
Es wird der ECMAScript-Standard unterstützt, siehe https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-options , Abschnitt "ECMAScript Matching Behavior"
Ergänzende Funktionen mit eingeschränktem Einsatzbereich:
|
Funktion
|
Erläuterung
|
Daten-Edit-Element
|
Multi-Daten-Edit-Element
|
Selektions-Element
|
Listen-Element und Baum-Element
|
Datenklassen-Feld
|
Weitere Einsatzzwecke
| |
GetActiveNavigationPartName()
|
Gibt in Daten-Edit-Elementen mit Navigationselement den Namen des gerade aktiven Navigations-Elements zurück. Gibt es kein Navigations-Element oder ist es kein Daten-Edit-Element, wird stattdessen ein Leerstring zurück gegeben.
|
|
|
|
|
|
| |
GetDataRefValue(feldreferenz, spaltenname)
|
Gibt den Wert der angegebenen Spalte einer Datenreferenz eines Felds bzw. der Auswahl eines Listen-Sub-Elementes zurück.
|
|
|
|
|
|
| |
GetDropFormat()
Ab Version 9.0.3
|
Ruft im "OnDrop"-Ereignis den Formatnamen der Drag&Drop-Aktion ab.
Mögliche Formate analog zum Attribut "DropFormats" des Elementes.
|
|
|
|
|
|
| |
GetDropValue()
|
Ruft im "OnDrop"-Ereignis den Inhalt der Drag&Drop-Aktion ab.
Bei den Drop-Formaten "FileDrop", "FileDrop-Multi", "EMail" und "EMail-Multi" (siehe Attribut "DropFormats") sind dies ein oder mehrere Datei-Pfadnamen (dann mit Semikolon getrennt). Die Datei-Pfad-Namen sind in Anführungsstriche eingeschlossen.
|
|
|
|
|
|
| |
GetKeyFieldValue(schlüsselfeldnummer)
|
Liefert den Wert eines Schlüsselfeldes.
Diese Funktion wird verwendet, wenn kein anderer Datenkontext vorhanden ist und deshalb Feldreferenzen nicht aufgelöst werden können:
Im Kontextmenü-Eintrag im Makro eines Datenklassen-Feldes.
Der Parameter ist die Schlüsselfeld-Nummer (1 bis 3), siehe Attribut "FieldNameKey", ...
Beim Löschen einer Datenstruktur im "BeforeDelete"/"AfterDelete"-Makro.
Der Parameter ist die Schlüsselfeld-Nummer (1 bis 9), siehe Attribute "PrimaryKey1“, …
Im Kontextmenü-Eintrag im Makro eines Listen-Elementes.
Der Parameter ist die Schlüsselfeld-Nummer(1 bis 9) der Datenquelle des Listen-Elementes, siehe Attribute "PrimaryKey1", …
|
|
|
|
|
|
Datenstruktur: Ereignisse "BeforeDelete" und "AfterDelete"
| |
GetMatchcodeFieldValue(schlüsselfeldnummer)
|
Liefert den Wert eines Matchcode-Feldes einer Datenklasse.
Diese Funktion wird verwendet, wenn kein anderer Datenkontext vorhanden ist und deshalb Feldreferenzen nicht aufgelöst werden können:
|
|
|
|
|
|
| |
ExistsVariable(dialogvariable)
(Ab Version 9.0.2)
|
Prüft die Existenz einer lokalen Makro-Variable (beginnend mit einem Unterstrich) oder die Existenz einer Dialog-Variable (beginnend mit zwei Unterstrichen).
True wenn vorhanden
sonst False
Zum Setzen eines Feldes auf "leer", steht der Makro-Befehl "FestlegenFeldLeer" zur Verfügung.
|
|
|
|
|
|
| |
IsEmpty(feldreferenz)
|
Enthält das referenzierte Feld einen leeren String ("") bzw. keinen Wert (Null oder Nothing in .Net Sprachen)?
True, wenn leer oder kein Wert
sonst False
|
|
|
|
|
|
| |
IsEnabled(feldreferenz)
|
Ist das referenzierte Feld aktiv (enabled)?
True wenn aktiv
sonst False
Das komplementäre Makro-Kommando ist "FestlegenFeldAktiv".
|
|
|
|
|
|
| |
IsFromField()
|
Ist das aktuelle Feld das Von-Feld eines Von-Bis-Feldes (Metadaten-Eigenschaft „IsFromTo“)?
True, wenn es sich um ein Von-Feld handelt und die Ausführung auf dem Client erfolgt
sonst False
Szenario:
|
|
|
|
|
|
| |
IsReadOnly(feldreferenz)
|
Ist das referenzierte Feld schreibgeschützt?
True, wenn schreibgeschützt
sonst False
Das komplementäre Makro-Kommando ist "FestlegenNurLesen".
|
|
|
|
|
|
| |
IsRecordInsert()
|
Ist das laufende Makro wegen „Datensatz einfügen“ aufgerufen worden?
True, wenn neuer Datensatz
False wenn geänderter Datensatz
Nur gültig im „BeforeUpdate“-Ereignis eines Datensatzes bzw. einer Datenstruktur. Das Ereignis tritt sowohl bei „Insert“, als auch bei „Update“ auf.
|
|
|
|
|
|
| |
IsRunningOnServer()
|
Wird das laufende Makro auf dem Server ausgeführt?
True, wenn Server-seitige Ausführung
sonst False
Szenario:
Im Datensatz wird das Ereignis „BeforeUpdate“ Client- und Server-seitig ausgeführt.
Bei True-Validierungen der Funktion können Makros nur Server-seitig ausgeführt werden.
Bei False-Validierungen der Funktion können Makros, die evtl. UI-Funktionalität verwenden, nur Client-seitig ausgeführt werden
|
|
|
|
|
|
| |
IsToField()
|
Analog zu „IsFromField“ für das Bis-Feld.
|
|
|
|
|
|
| |
IsVisible(feldreferenz)
|
Ist das referenzierte Feld sichtbar?
True, wenn das Feld sichtbar ist
sonst False
Das komplementäre Makro-Kommando ist "FestlegenFeldSichtbar".
|
|
|
|
|
|
| |
ItemCount(feldreferenz)
|
Gibt die Anzahl der Positionen zurück, wenn <feldreferenz> ein Multi-Data-Edit-Element adressiert, sonst ungültig (Laufzeitfehler).
|
|
|
|
|
|
| |
MyFieldnameInParent()
|
Gibt den Feldnamen zurück, unter dem das aktuelle Element im übergeordneten Element geführt wird.
Szenario:
|
Collapse action bar
View all comments
Open Details Panel
Create page
Open Rovo Chat
Add a comment
Add a reaction