Seite 1 von 1
mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:04
von marcelx
Hallo zusammen,
mit Variablenname Variable-Inhalt ausgeben
ich möchte für eine Liste von Variables (zuerst vom Typ String) die Variablen ausgeben:
z.B. die 3 Variablen in der listVar.
Wie setze ich value?
Code: Alles auswählen
var0.s = "test0"
var1.s = "test1"
var2.s = "test2"
Dim listVar.s(2)
listVar(0) = "var0"
listVar(1) = "var1"
listVar(2) = "var2"
varName.s
value.s
For i=0 To ArraySize(listVar())
varName = listVar(i)
Debug varName+": "+ value
Next
Danke und Gruß
MarcelX
Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:17
von NicTheQuick
Das geht nicht. Nach dem Kompilieren gibt es keine Variablennamen mehr. Folglich kann der Inhalt der Variable nicht mehr ausgelesen werden.
Außer du möchtest "Runtime"-Variablen nutzen.
Code: Alles auswählen
EnableExplicit
Define.s var0 = "test0", var1 = "test1", var2 = "test2"
Runtime var0, var1, var2
Define Dim listVar.s(2)
listVar(0) = "var0"
listVar(1) = "var1"
listVar(2) = "var2"
Define varName.s, value.s, i.i
For i = 0 To ArraySize(listVar())
varName = listVar(i)
value = GetRuntimeString(varName)
Debug varName + ": " + value
Next
Komischerweise ist var1 bei mir aber leer. Bei euch auch?
Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:25
von Pelagio
Hallo marcelx,
ich weiß zwar nicht was der Hintergrund, die Logik deines Source sein soll aber wenn ich mir vorstelle für was ich es gebrauchen könnte, würde ich es wie folgt anstellen:
Code: Alles auswählen
NewMap Var.s()
AddMapElement (Var(), "var0")
AddMapElement (Var(), "var1")
AddMapElement (Var(), "var2")
Var("var0") = "test0"
Var("var1") = "test1"
Var("var2") = "test2"
ForEach Var()
Debug MapKey(Var()) + ": "+ Var()
Next
Aber vieleicht ist der Grund warum Du es brauchst auch einer den ich nicht erkenne,
dann halte dich an NicTheQuick der kennt sich aus.
Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:26
von mhs
NicTheQuick hat geschrieben:Komischerweise ist var1 bei mir aber leer. Bei euch auch?
Bei mir ist var1 nicht leer.
[13:26:39] [Debug] var0: test0
[13:26:39] [Debug] var1: test1
[13:26:39] [Debug] var2: test2
@marcelx: Schon mal über eine Map anstatt Variablen nachgedacht?
Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:27
von ts-soft
NicTheQuick hat geschrieben:Komischerweise ist var1 bei mir aber leer. Bei euch auch?
Nein, weder unter Windows noch unter Linux!
Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:34
von NicTheQuick
ts-soft hat geschrieben:NicTheQuick hat geschrieben:Komischerweise ist var1 bei mir aber leer. Bei euch auch?
Nein, weder unter Windows noch unter Linux!
Ähm gut. Dann sollte ich vielleicht mal endlich von der beta 1 auf die Final wechseln.

Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:37
von marcelx
Danke für die Anregungen.
Der Sinn ist, dass ich in vorhandene Code von mir, Variable unterschiedliche Type habe (String, Array, ...)
Ich wollt ein Zustand meine Variable mit eine Procedure ausgeben.
Meine Idee war einfach eine Liste für jeden Procedure anzulegen und mit ein Ausgabe-Procedure auszugeben.
Mit GetRuntimeString oder NewMap (bevorzügt) ist für mich akzeptable.
Re: mit Variablenname Variable-Inhalt ausgeben
Verfasst: 26.01.2016 14:42
von NicTheQuick
Die Debugger-Funktionalitäten reichen dir dafür nicht?