Was können wir verbessern?

Dokumentation

IPS_SetEventCondition

Benötigt: IP-Symcon >= 4.4

boolean IPS_SetEventCondition (integer $EreignisID, integer $BedingungsID, integer $ÜbergeordneteID, integer $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
Wert Beschreibung
0 AND
1 OR
2 NAND (noch nicht implementiert)
3 NOR (noch nicht implementiert)

Rückgabewerte

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);
Haben Sie noch Fragen?