ich möchte meinem Stromverbrauch für jede Monat in einem Systemvariable abspeichern. Kam auf der Idee mit ";" seperated Liste.
Leider habe ich es nicht hinbekommen, eine schöne schliefe zu machen (damit ich den Code nicht immer wiederholen muss).
Hat jemand ein Tipp, wie ich meinem Code einfacher (mit einer schliefe o.ä.) machen kann?
Ich möchte nur 1 Wert in die Liste ändern! Und wenn ich es als Schleife mache, dann kann ich nicht der Variabel dynamisch ändern. (mit Dynamisch meine ich: den Wert von "VerbrauchX" zu ändern.
Code: Alles auswählen
! Hole der Wert und parse damit ich Wert jede Monat bekomme
string str = dom.GetObject("Stomverbrauch per Monat 2022").Value();
integer verbrauch1 = str.StrValueByIndex(";", 0).ToInteger();
integer verbrauch2 = str.StrValueByIndex(";", 1).ToInteger();
integer verbrauch3 = str.StrValueByIndex(";", 2).ToInteger();
integer verbrauch4 = str.StrValueByIndex(";", 3).ToInteger();
integer verbrauch5 = str.StrValueByIndex(";", 4).ToInteger();
integer verbrauch6 = str.StrValueByIndex(";", 5).ToInteger();
integer verbrauch7 = str.StrValueByIndex(";", 6).ToInteger();
integer verbrauch8 = str.StrValueByIndex(";", 7).ToInteger();
integer verbrauch9 = str.StrValueByIndex(";", 8).ToInteger();
integer verbrauch10 = str.StrValueByIndex(";", 9).ToInteger();
integer verbrauch11 = str.StrValueByIndex(";", 10).ToInteger();
integer verbrauch12 = str.StrValueByIndex(";", 11).ToInteger();
!Frage welchen Monat wir heute haben
integer aktuellesMonat = system.Date("%m").ToInteger();
!Ändere der Wert für nur für diese Monat
if ( aktuellesMonat == 1 )
{ verbrauch1 = verbrauch1 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 2 )
{ verbrauch2 = verbrauch2 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 3 )
{ verbrauch3 = verbrauch3 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 4 )
{ verbrauch4 = verbrauch4 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 5 )
{ verbrauch5 = verbrauch5 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 6 )
{ verbrauch6 = verbrauch6 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 7 )
{ verbrauch7 = verbrauch7 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 8 )
{ verbrauch8 = verbrauch8 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 9 )
{ verbrauch9 = verbrauch9 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 10 )
{ verbrauch10 = verbrauch10 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 11 )
{ verbrauch11 = verbrauch11 + zaehlerDifferenz;
}elseif ( aktuellesMonat == 12 )
{ verbrauch12 = verbrauch12 + zaehlerDifferenz;
}
!setze der Systemvariabel nochmal
dom.GetObject(stromVerbrauchMonat).State(verbrauch1#";"#verbrauch2#";"#verbrauch3#";"#verbrauch4#";"#verbrauch5#";"#verbrauch6#";"#verbrauch7#";"#verbrauch8#";"#verbrauch9#";"#verbrauch10#";"#verbrauch11#";"#verbrauch12);