Variable (String) ohne Wert als Ereignis nutzen

Folgender Wunsch:

Sobald eine String-Variable keinen Wert hat (leer), möchte ich eine Boolean Variable auf true setzen. Dieses funktioniert über ein normales Ereignis nicht.
Sobald die Variable den Wert ungleich leer hat, soll die Boolean Variable auf false gesetzt werden.

Hat hier jemand eine Idee oder einen Vorschlag, wie man dieses realisieren könnte?

Erstell ein Ereignis mit eigenem Skript (PHP-Code ausführen), was bei jeder Änderung der Variablen ausgeführt wird. Dort prüfst du dann die Werte nach deinen Wünschen und setzt die Variable entsprechend.

Vielen Dank für die Info, wie sieht denn eine if-Abfrage für einen leeren Inhalt einer String Variable aus?

If GetValueString === und wie geht es dann weiter?

Dankeschön!

Da gibt es auch einige Wege ohne PHP-Skript. Es ist hier ja nicht jeder Programmierer :wink:

Zum einen könntest du die Idee von @Slummi auch einfach als Ablaufplan umsetzen. Dann nimmst du ein Ereignis bei Veränderung und zwei Bedingungen.

Alternativ könntest du auch zwei ausgelöste Ereignisse erstellen. Bei leer auf true stellen ist ganz einfach. Da wählst du einfach „Bei bestimmten Wert“ und lässt das Wertefeld leer. Als Aktion setzt du die Boolean-Variable dann auf true. Ungleich kannst du nicht direkt im Auslöser definieren, dafür müsstest du eine erweiterte Bedingung verwenden. Also, „Bei Veränderung“ als Auslöser wählen und als erweiterte Bedingung Wert ungleich leer.

Zum Beispiel so. Das funktioniert aber nur, wenn der Code durch das Ereignis ausgeführt wird. Ansonsten musst du GetValue(12345) an Stelle von $_IPS['VALUE'] nutzen.

<?php

if ($_IPS['VALUE'] == '') {
    SetValue(56789, true);
}
else {
    SetValue(56789, false);
}

56789 musst du natürlich durch die ID deiner Boolean-Variable ersetzen. Wenn das Ereignis direkt unter der Boolean hängt, kannst du stattdessen auch $_IPS['TARGET'] verwenden.

Ah gut zu wissen, dass das funktioniert. Ich dachte, dass leere Werte nicht funktionieren würden und dies der Grund von @alsk1 Frage war.