RaspberryMatic icon indicating copy to clipboard operation
RaspberryMatic copied to clipboard

ReGaHSS: foreach [10/12 BP-10] -> Wertänderung (integer) der Variable im 1.Parameter verfälscht die Anzahl der Schleifendurchläufen

Open BadenPower opened this issue 2 years ago • 0 comments

Describe the issue you are experiencing

Ist der 2. Parameter der foreach-Anweisung vom Datentyp integer und es wird innerhalb der Schleife der Datentyp der Variable, welche im 1. Parameter der foreach-Anweisung verwendet wird, in den Datentyp integer geändert, und verbleibt bis zum Ende des Durchganges als solche, oder es wird bei bereits bestehendem Datentyp integer der Wert geändert, dann wird der interne Schleifenwert auf den zugewiesenen Wert gesetzt. Ist der zugewiesene Wert gleich oder größer als der im 2. Parameter der foreach-Anweisung verwendete Wert, dann wird kein weiterer Schleifendurchlauf mehr getätigt.

Describe the behavior you expected

Erwartet würde, dass die Änderung des Wertes innerhalb des Schelifendurchlaufs für die weiteren Schleifendurchläufe keine Auswirkung hat. Vor allem darf die Schleife nicht abgebrochen und der interne Schleifenwert nicht beeinflusst werden.

Steps to reproduce the issue

Ausführung des folgenden Skriptes unter "Skript testen":

WriteLine("Start");
WriteLine(dom.BuildLabel());
integer lCount = 0;
string lEnum;
string lParam2 = 1000;

foreach(lEnum,lParam2)
{
  lCount = lCount + 1;
  WriteLine("--------------------------------------------------");
  WriteLine("Durchlauf: " # lCount);
  WriteLine(lEnum.Type() # " " # lEnum);
  if(lCount == 3)
  {
    lEnum = 100;
  }
  if(lCount == 6)
  {
    lEnum = 1;
  }
  if(lCount == 10)
  {
    lEnum = 994;
  }
  if(lCount == 14)
  {
    lEnum = 1111;
  }
}
WriteLine("--------------------------------------------------");
WriteLine("Schleifenende:");
WriteLine("lEnum = " # lEnum.Type() # " " # lEnum);
WriteLine("lCount = " # lCount);
WriteLine("");
WriteLine("Ende");

What is the version this bug report is based on?

CCU3 mit ReGaHSS-Version R1.00.0388.0235

Which base platform are you running?

rpi3 (RaspberryPi3)

Which HomeMatic/homematicIP radio module are you using?

n/a

Anything in the logs that might be useful for us?

bestehend seit:
unbekannt (bereits mit ReGaHss-Version R1.00.0388.0102)

Additional information

Ausgabe des Skriptes:

Start
R1.00.0388.0235
--------------------------------------------------
Durchlauf: 1
integer 1
--------------------------------------------------
Durchlauf: 2
integer 2
--------------------------------------------------
Durchlauf: 3
integer 3
--------------------------------------------------
Durchlauf: 4
integer 101
--------------------------------------------------
Durchlauf: 5
integer 102
--------------------------------------------------
Durchlauf: 6
integer 103
--------------------------------------------------
Durchlauf: 7
integer 2
--------------------------------------------------
Durchlauf: 8
integer 3
--------------------------------------------------
Durchlauf: 9
integer 4
--------------------------------------------------
Durchlauf: 10
integer 5
--------------------------------------------------
Durchlauf: 11
integer 995
--------------------------------------------------
Durchlauf: 12
integer 996
--------------------------------------------------
Durchlauf: 13
integer 997
--------------------------------------------------
Durchlauf: 14
integer 998
--------------------------------------------------
Schleifenende:
lEnum = integer 1112
lCount = 14

Ende

BadenPower avatar Jan 16 '24 20:01 BadenPower