Variable aus Variablen auslesen

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

SupeRalF

Betreff: Variable aus Variablen auslesen

BeitragMi, Apr 23, 2008 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe folgendes Problem:
ich habe eine variable als string. in diesem string steht allerdings der name einer anderen variablen. und diese "versteckte" variable möchte ich auslesen. geht das irgendwie?

mfg
SupeRalF

Caesium

BeitragMi, Apr 23, 2008 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
bb-hilfe - zeichenketten - da steht alles was du brauchst.

besonders Instr() solltest du dir ansehen, ich denke das ist, was du suchst.

gruß,
caesium

edit: scheint, als hätte ich dich falsch verstanden, ich bitte um verzeihung Embarassed
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile
  • Zuletzt bearbeitet von Caesium am Mi, Apr 23, 2008 23:32, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragMi, Apr 23, 2008 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn Du sowas meinst:
Code: [AUSKLAPPEN]
a$= "test"
variable(a$) = 35
print test

Und das Ergebnis soll dann 35 sein:
so ohne weiteres geht das nicht, nein.
Du kannst dir entweder nen Parser schreiben und dass dann per select case laufen lassen oder es per reflection machen. Siehe dazu die Dokumentation zu Reflection und auf bb.com
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

hamZta

Administrator

BeitragDo, Apr 24, 2008 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Verwende den Typ TMap.
TMap stellt eine simple Hashtable dar, d.h. du kannst mit beliebigen Schlüsseltypen auf beliebige Werte zugreifen. Darin liegt der Vorteil gegenüber normalen Arrays, man kann zb. auch Strings als Schlüssel verwenden.

Code: [AUSKLAPPEN]

Local myMap:TMap = New TMap
myMap.insert("Key1", "Wert1");
myMap.insert("Key2", "Wert1");

Local myVar:String =  "Key1"
Print String(myMap.ValueForKey(myVar))

myVar = "Key2"
Print String(myMap.ValueForKey(myVar))


Zu beachten ist, dass eine Map ihre gespeicherten Werte & Schlüssel auf Object castet, beim Auslesen musst du sie wieder auf ihren ursprünglichen Typ zurückcasten.

hamZta

edit: Ist ja gar nichtmehr versteckt, der Typ Smile Findest du in der Hilfe unter Modules -> Data structures -> Maps.
Blog.

SupeRalF

BeitragDo, Apr 24, 2008 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für eure Hilfe!

ich hab zwer keine realisiert, aber immerhin habt ihr mich auf die Idee eines ganz normalen Arrays gebracht. Das geht sowieso viel leichter, ich bin nur (watrum auch immer) nicht darauf gekommen! Embarassed

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group