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. |