golpe hat geschrieben: ↑19.11.2022, 20:37
Warum hat "wert" einen numerischen Wert (0, 1 oder 2) und nicht den Text von "ProgrammStatus" (unscharf, internScharf oder externScharf)?
Weil eine Systemvariable "WerteListe" nunmal intern vom VaueType ivtInteger ist und somit das Ergebnis auch in Integer ist
golpe hat geschrieben: ↑19.11.2022, 20:37
Wie kann ich diesen wirklich bekommen?
Die Aufzhlung befindet sich unter ValueList();
und den Text zugehörig zu deinem Wert bekommst du mit
Code: Alles auswählen
string wert = web.webGetValueFromList(prog.ValueList(),prog.Value());
dann hast du aber ein paar Ungenauigkeiten in deimem Script:
prog als String definieren ist falsch (ok, falsch nicht, aber unschön), in deinem Beispiel wert als string auch, ergibt bei mir unter script Ausführen die Anzeige, das ein Typwechsel stattgefunden hat:
Code: Alles auswählen
------------------------------ Script Variablen -----------------------------
[prog ](string-->object): WerteListeTest (ID: 3451 - TYPE: VARDP)
[wert ](string-->integer): 1
Dann ist es schöner, einen Zugriff vollqualifiziert zu schreiben
anstatt string prog = dom.GetObject("ProgrammStatus");
besser
object prog=dom.GetObject (ID_SYSTEM_VARIABLES).Get ("ProgrammStatus");
nun ist prog ja schon von Typ object, wie du auch in meinem AUsdruck meines Editores gesehen hast, dann wäre das string wert =
dom.GetObject(prog).Value(); doppelt gemoppelt.
Black