Syntax der Ausdrücke
Aus Dokumentation
Rechenoperatoren
Liste der Rechenoperatoren
Operator | Name | Beschreibung | Beispiel |
---|---|---|---|
( ) | Klammern | Bei Rechenoperationen sollten die Attribute in Klammer geschrieben werden, um Syntaxprobleme zu vermeiden | (Maximales Überstauvolumen)/5 |
" | Anführungszeichen | Texte/Strings werden unter Anführungszeichen gestellt, gewünschte Leerzeichen müssen innerhalb der Anführungszeichen liegen. | „Text1 “ |
.f0-.fx | Floating Point | Festlegung der Ausgabe der Dezimalstellen für Werte mit Nachkommastellen. | (Maximales Überstauvolumen).f2 |
. | Pointer | Zugriff auf verknüpfte Daten über Pointer | Deckel.Radius |
* | Multiplikation | Multipliziert die Werte seiner Operanden und gibt das Ergebnis zurück. | (Profilhöhe)*5 |
sqrt() | Wurzel | Zieht die Qudatratwurzel aus dem Attribut | sqrt(Fläche) |
sqr() | Quadrat | Bildet das Quadrat aus dem gewählten Attribut | sqr(Fläche) |
/ | Division | Dividiert die Werte seiner Operanden und gibt das Ergebnis zurück. Bei der Division von Ganzzahlen fällt ein eventueller Rest weg, es wird also nicht gerundet. | (Profilhöhe)/2 |
% | Modulo | Dividiert die Werte seiner Operanden und gibt den Divisionsrest zurück. Kann nur auf ganzzahlige Operanden angewendet werden. Ist mindestens ein Operand negativ, so ist das Vorzeichen des Resultats implementationsabhängig. | (Entwässerungssystem)%3 |
< | kleiner | Ergibt den boolschen Wert WAHR, wenn der linke Operand kleiner als der rechte ist, sonst FALSCH. | (Deckelhöhe)<(Sohlhöhe) |
<= | kleiner oder gleich | Ergibt den boolschen Wert WAHR, wenn der linke Operand kleiner oder gleich dem rechten ist, sonst FALSCH. | (Sohlhöhe)<=0 |
= | gleich | Ergibt den boolschen Wert WAHR, wenn die beiden Operanden gleich sind, sonst FALSCH. | (Deckelhöhe)=0 |
<> | ungleich | Ergibt den boolschen Wert WAHR, wenn die beiden Operanden ungleich sind, sonst FALSCH. | Entwässerungssystem<>2 |
>= | größer oder gleich | Ergibt den boolschen Wert true, wenn der linke Operand größer oder gleich dem rechten ist, sonst false. | (Abschnittslänge m)>= 30 |
> | größer | Ergibt den boolschen Wert WAHR, wenn der linke Operand größer als der rechte ist, sonst FALSCH. | (Abschnittslänge m)>100 |
! | Negierung | Invertiert den Wert seiner Operanden. Aus WAHR wird FALSCH und umgekehrt. | !(Deckelhöhe).exists |
& | Und-Verknüpfung | Verknüpft die beiden Operanden und gibt WAHR zurück, wenn beide Operanden den Wert WAHR haben, sonst FALSCH. | !(Anfang Hochwert).exists & !(Ende Rechtswert).exists |
| | Oder-Verknüpfung | Verknüpft die beiden Operanden und gibt WAHR zurück, wenn mindestens einer der beiden Operanden den Wert WAHR hat, sonst FALSCH. | (Material)="MA" | (Material)="Sb" |
.exists | Abfrage-Vorhanden | Abfrage nach dem gesuchten Attribut und gibt WAHR zurück (Objekt wird ausgegeben) | (Deckelhöhe).exists |
.size | Abfrage-Anzahl | Liefert die Anzahl der Elemente für das ausgwählte Attribut | (Individuelles Überstauvolumen).size |
.len | Abfrage-Länge | Liefert die Länge eines Strings | (Name).len |
.max | Abfrage-Maximalwert | Liefert den Maximalwert des Elements für das ausgewählte Attribut | (Individuelles Überstauvolumen).max |
.min | Abfrage-Minimalwert | Liefert den Minimalwert des Elements für das ausgewählte Attribut | (Individuelles Überstauvolumen).min |
.sum | Abfrage-Summation | Summiert die Werte der Elemente eines ausgewählten Attributs | Zuflüsse.Einwohner.sum |
.eq | Vergleichsfunktion für Strings | Vergleicht 2 Strings auf Gleichheit (equal) | Attribut_XY.eq("Test") |
.neq | Vergleichsfunktion für Strings | Vergleicht 2 Strings auf Ungleichheit (not-equal) | Attribut_XY.neq("Test") |
WENN ? DANN : SONST | Wenn-Dann Abfrage | Soll die Beschriftung variabel, je nach bestimmten Eigenschaften eines Objektes erfolgen kann diese vorher abgefragt werden | ((Maximales Überstauvolumen) > 0) ?(Name) :"" |
# | Raute | Eine Folge von Texten (Strings) und Feldnamen verbunden mit # | „Text1 “#Feldname.f2#“ Text“ |
</br> | Neue Zeile | Über den Ausdruch kann eine neue Zeile eingefügt werden | „Text1 “#Feldname.f2#“ Text“ |
.i | integer | Wandelt ein numerisches Feld ineinen Integer-Wert um (ganze Zahl) | Belastungsgrad.i |
.s | string | Wandelt ein numerisches Feld in einen String um | Deckelhöhe.s |
.nth(1) | Individuelle ereignisspezifische Ausdrücke | Der größte Wert eines Arrays wird ausgegeben | (Individuelles Überstauvolumen).nth(1).f2 |
.nth(2) | Individuelle ereignisspezifische Ausdrücke | Der zweitgrößte Wert eines Arrays wird ausgegeben | (Individuelles Überstauvolumen).nth(2).f2 |
.left(n) | Funktion für String(Text)-Attribute | Gibt n Buchstaben des Textes zurück von Links | Name="Schacht_xy_test" -> Name.left(10) -> "Schacht_xy" |
.right(n) | Funktion für String(Text)-Attribute | Gibt n Buchstaben des Textes zurück von Rechts | Name="Schacht_xy_test" -> Name.right(7) -> "xy_test" |
.substr(n,m)) | Funktion für String(Text)-Attribute | Gibt ein Teilstück des Textes zurück mit n von Links und m als die Länge des zurückgelieferten Strings | Name="Schacht_xy_test" -> Name.substr(7,4) -> "_xy_" |
.substr(n)) | Funktion für String(Text)-Attribute | Gibt ein Teilstück des Textes zurück mit n von Links bis zum Ende des Strings | Name="Schacht_xy_test" -> Name.substr(7) -> "_xy_test" |
.count() | Die Funktion wird auf einen String oder Array von Strings angewendet | Ausgegeben wird die Anzahl von Vorkommnisse des Parameter-Stringes in dem Array von Strings, unter Beachtung von Gross/Kleinschreibung. | Um die Anzahl von bestimmten Beobachtungskürzeln anzuzeigen, müsste ein Ausdruck wie Schäden.Kode.count(„BCA“) z.B. in einer Eigenschaftsliste als Tabelle angezeigt werden. |