Dokumentation
IPS_SetEventCondition
Benötigt: IP-Symcon >= 4.4
boolean IPS_SetEventCondition (int $EreignisID, int $BedingungsID, int $ÜbergeordneteID, int $Operation)
Parameterliste
EreignisID | ID des zu verändernden Ereignisses |
||||||||||
BedingungsID | Eindeutige ID für diese Bedingung. Die Wurzelbedingung hat die ID 0. IDs müssen nur für dieses Ereignis eindeutig sein. |
||||||||||
ÜbergeordneteID | ID der übergeordneten Bedingung. Bei der Erstellung der Wurzelbedingung muss dieser Parameter 0 sein. |
||||||||||
Operation |
|
Rückgabewert
Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Diese Funktion modifiziert die Bedingung mit der ID BedingungsID des Ereignisses mit der ID EreignisID. Die Bedingung wird der Bedingung mit der ID ÜbergeordneteID untergeordnet und verwendet die Operation Operation. Wenn keine Bedingung mit der ID BedingungsID existiert, wird eine erstellt.
Falls ÜbergeordneteID negativ ist, wird die Bedingung mit der ID BedingungsID gelöscht. Eine Bedingung kann nicht gelöscht werden falls sie untergeordnete Bedingungen hat. Wird eine Bedingung gelöscht, werden alle Regeln der Bedingung ebenfalls gelöscht.
Eine Bedingung wird ausgewertet, indem ihre Operation auf die Menge all ihrer Regeln und untergeordneten Bedingungen angewandt wird. Auf diese Weise ist es möglich verschachtelte Bedingungen zu erstellen.
Beispiel
// Erstelle die Wurzelbedingung mit der Operation OR für das Ereignis mit der ID 12345
IPS_SetEventCondition(12345, 0, 0, 1);
// Erstelle eine untergeordnete Bedingung mit der Operation AND
IPS_SetEventCondition(12345, 1, 0, 0);
// Lösche untergeordnete Bedingung
IPS_SetEventCondition(12345, 1, -1, 0);