Comparator

Aus UniversalProcessKit
Wechseln zu: Navigation, Suche

Dieses Modul überprüft eine hinterlegte Formel auf ihre Gültigkeit (wahr oder falsch) und löst daraufhin bestimmte Aktionen aus. Die Überprüfung wird bei jeder Änderung eines betreffenden Füllstands erneut durchgeführt.

Inhaltsverzeichnis

Standard-UserAttributes

siehe Standard-UserAttributes

type (string)

Um dieses Modul zu verwenden, muss type="comparator" gesetzt sein.

Ausprägung Beschreibung
comparator

Allgemein

formula (string)

In "formula" ist die zu überprüfende Formel hinterlegt. Sie kann Namen von Fülltypen, Klammern, boolsche Schlüsselwörter, logische Operatoren, Vergleiche und mathematische Transformationen enthalten. Für die Füllstände und möglichen Schlüsselwörter muss die Groß- und Kleinschreibung beachtet werden.

Ausprägung Beschreibung
(ohne) (default) Auf nichts wird reagiert.
(Formel) Die zu überprüfende Berechnung.

Bsp: „barley>=20000“, „rape>2*wheat“

Die Formel kann folgende Elemente beinhalten:

Namen von Fülltypen

Siehe Fülltypen. Des Weiteren können im Mod definierte Fülltypen ebenso verwendet werden (bspw. "counter").

Klammern

Ausprägung Beschreibung
( Beginn eines Abschnitts, der zuerst ausgerechnet werden soll.

Klammern können geschachtelt werden.

) Ende des Abschnitts, der zuerst ausgerechnet werden soll.

Bsp: "(2+3)*3=15" ist wahr.

boolsche Schlüsselwörter

Ausprägung Beschreibung
true wahr
false falsch

Bsp: "true!=false" ist wahr.

logische Operatoren

Ausprägung Beschreibung
AND Überprüft ob die linke und rechte Seite wahr sind.
OR Überprüft ob wenigstens eine der beiden Seiten wahr ist.
XOR Überprüft ob entweder die linke oder die rechte Seite wahr ist.
NOT Gibt das Gegenteil der rechten Seite zurück

Bsp: "(NOT true=false) XOR false" ist wahr.

Vergleiche

Ausprägung Beschreibung
= Überprüft ob die linke und rechte Seite gleich sind.

Kann für Zahlen und Bool-Werte benutzt werden.

>= Überprüft ob die linke Zahl größer oder gleich der rechten Zahl ist.
> Überprüft ob die linke Zahl größer als die rechte Zahl ist.
 != Überprüft ob die linke Seite ungleich der rechten Seite ist.

Kann für Zahlen und Bool-Werte benutzt werden.

Tipp:Für "<=" oder "<" (werden wg. XML-Formatierung der I3D so nicht unterstützt) die linke mit der rechten Seite tauschen und ">=" bzw. ">" verwenden.

Bsp: "3>=2 AND 4!=5" ist wahr.

mathematische Transformationen

Ausprägung Beschreibung
+ Addition
- Subtraktion
* Multiplikation
/ Division

Bsp: "1+1=2" ist wahr.

Action-UserAttributes

..OnTrue

Die Action-UserAttributes, die im Namen mit „..OnTrue“ enden, werden nur herangezogen, wenn die hinterlegte Formel des Comparators nicht mehr falsch ist.

..OnFalse

Die Action-UserAttributes, die im Namen mit „..OnFalse“ enden, werden nur herangezogen, wenn die hinterlegte Formel des Comparators nicht mehr wahr ist.

Beispielmods

Die folgende Liste enthält Mods, die dieses Modul verwenden.

Bild Modname in Dateien
UPK Comparator Test model.i3d