Wert aus STRING ausführen

suntmaster

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich habe das Problem, dass ich den String, welchen ich mit wert erstellt habe, als boolsche Variable setzen, bzw rücksetzen kann. Allerdings weis ich nicht, wie ich das machen kann.

Hier mein bisheriger Code:

test : STRING ;
i: INT;
device_def_: STRING;
wert: STRING;

IF device_def_reset THEN
FOR i := 1 TO 48 DO
test := INT_TO_STRING(i);
wert := CONCAT(device_def_, test);
END_FOR
END_IF



Schon mal Danke für eure Antworten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich möchte eigentlich mehrere boolsche Variablen, bei denen sich nur die letzte Zahl ändert, gleichzeitig schalten und dies möglichst mit wenig Programmieraufwand.

Deshalb habe ich mir schon einen String gebastelt ("wert"), welcher aus dem Namen ("device_def_") und der fortlaufenden Zahl (test) besteht.
Jetzt bräuchte ich eine Möglichkeit, den Namen des Strings, z.B. device_def_1, auf TRUE bzw. FALSE zu setzen.
Also wie wenn ich schreiben würde: device_def_1 := TRUE;

Vielleicht ist das auch einfach viel zu kompliziert und es gibt einen einfacheren Weg !?

test : STRING ;
i: INT;
device_def_: STRING;
wert: STRING;

IF device_def_reset THEN
FOR i := 1 TO 48 DO
test := INT_TO_STRING(i);
wert := CONCAT(device_def_, test);
END_FOR
END_IF



Gruß
 
In diesem Fall würde ich eher dazu raten ein Array anzulegen.

Code:
device_def: Array [1...48] of Bool; (syntax bitte noch mal prüfen)

Dann kann man im Programm schreiben:

Code:
IF device_def_reset THEN
   FOR i := 1 TO 48 DO
      device_def[i] := False;
   END_FOR
END_IF
 
Das ist ne gute Idee, allerdings klappt des bei mir nicht. Hab auch mal den Wert der Variable hinterher ausgelesen und konnte keine Veränderung feststellen.
i wird hochgezählt -> Das klappt.
Code wird auch übersetzt.
Nur er setzt die Variable z.B. device_def_1 nicht auf FALSE;
 
Zurück
Oben