Dokumentation
IPS_SetEventConditionTimeRule
Benötigt: Symcon >= 4.4
bool IPS_SetEventConditionTimeRule (int $EreignisID, int $BedingungsID, int $RegelID, int $Vergleich, int $Stunde, int $Minute, int $Sekunde)
Parameterliste
| EreignisID | ID des zu verändernden Ereignisses |
|||||||||||||||||||||
| BedingungsID | ID der Bedingung, welche die Regel beinhaltet |
|||||||||||||||||||||
| RegelID | Eindeutige ID für diese Regel. IDs müssen nur für diese Bedingung eindeutig sein. |
|||||||||||||||||||||
| Vergleich |
|
|||||||||||||||||||||
| Stunde | Stundenwert (0..23) mit dem die aktuelle Zeit verglichen wird |
|||||||||||||||||||||
| Minute | Minutenwert (0..59) mit dem die aktuelle Zeit verglichen wird |
|||||||||||||||||||||
| Sekunde | Sekundenwert (0..59) mit dem die aktuelle Zeit verglichen wird |
Rückgabewert
Konnte die Funktion erfolgreich ausgeführt werden, liefert sie als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Diese Funktion modifiziert die Regel mit der ID RegelID der Bedingung mit der ID BedingungsID des Ereignisses mit der ID EreignisID. Die Regel vergleicht die aktuelle Uhrzeit mit Stunde, Minute und Sekunde, entsprechend der Vergleichsoperation Vergleich. Falls keine Regel mit der ID RegelID existiert, wird eine erstellt.
Liegt einer der Werte außerhalb des gültigen Bereichs (Stunde < 0 oder > 23, Minute < 0 oder > 59, Sekunde < 0 oder > 59), wird die Regel mit der ID RegelID gelöscht. Existiert keine Regel mit dieser ID, wird ein Fehler ausgegeben.
Welche RegelID welche Regel beinhaltet kann via IPS_GetEvent nachgesehen werden.
Beispiel
// Erstelle eine Wurzelbedingung
IPS_SetEventCondition(12345, 0, 0, EVENT_CONDITION_OPERATION_AND);
// Fügt hinzu/Modifiziert die Regel mit der ID 2 beim Ereignis mit der ObjektID 12345
// Es muss genau 22:30 sein damit diese Regel erfüllt ist.
IPS_SetEventConditionTimeRule(12345, 0, 2, EVENTCONDITIONCOMPARISON_EQUAL, 22, 30, 0);
// Lösche die Regel mit der ID 1
IPS_SetEventConditionTimeRule(12345, 0, 1, 0, -1, 0, 0);