if Var1=1 then Var2 hochzählen?

Hallo,
ich bekomme Impulse vom Wasserzähler. Dieser Impuls ändert eine Variable.
Immer wenn diese Variable=true ist, möchte ich eine andere Variable um 1 hochzählen.

Kann man das noch kürzer/einfacher programmieren?
Das „Skript“ wird als Ereigniss bei Variablenänderung gestartet.

  1. Da ich „($_IPS[‚VALUE‘]“ nicht direkt abfragen konnte, musste ich die „ObjektID“ in die Variable $zaehler schreiben…
  2. Schöner wäre, wenn ich die Variable „$zaehler“ nicht benötigen würde…

<?

//soll eine Variable um 1 hochzählen

//Variablen festlegen:
$zaehler = GetValue(46287 /*[KellerWasser\Wasserzähler]*/);
//$zaehler = ($_IPS['VALUE']) //geht nicht?!

if($_IPS['VALUE']==1){ //Wenn Eingang gesetzt
//SetValue($_IPS['TARGET'], $_IPS['TARGET']+1); //geht nicht?! -> TARGET=$zaehler
SetValue($_IPS['TARGET'], $zaehler+1); //Variable "Wasserzaehler" um 1 hochzählen
}
?>


<?
$idwatercounter = 46287;
$zaehler = GetValue($idwatercounter);
SetValue($idwatercounter, $zaehler+1); // Variable "Wasserzaehler" um 1 hochzählen
?>

Viel kürzer wird es wohl nicht.

Danke für die Antwort.
Ich hatte die Hoffung, die Variable $zaehler einzusparen und direkt mit „Target“ zu arbeiten.

Sollte doch auch so gehen:


<?
$idwatercounter = 46287;
SetValue($idwatercounter, GetValue($idwatercounter)+1); // Variable "Wasserzaehler" um 1 hochzählen
?> 

Hallo kronos,
das funktioniert.
Ich hatte noch einen kleinen Fehler drin: -> darf natürlich nur aufgerufen werden, wenn Variable den Wert „True“ hat. Bei mir wurde immer um 2 hochgezählt.

Wenn ich nun noch die ObjektID raus bekomme, wäre es perfekt. So geht es leider nicht.



$idwatercounter = GetValue($_IPS['TARGET']);