Renvoyer la valeur d'une variable à partir de son nom sous forme de chaine

Phil156 Messages postés 1 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 18 décembre 2003 - 18 déc. 2003 à 23:40
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 - 22 déc. 2003 à 13:29
Bonjour
Comment créer en VB une function qui me renvérer la valeur d'une variable dont le nom serait passé comme parametre dans une chaine de caracteres.
je pourrais le faire par un simple test (if then) mais j'ai beaucoup de variables a tester (1500) et je cherche une méthode + simple et plus rapide pour le programme.
Je ne sais pas si c'est facilement réalisable, mais si quelqu'un a une idée...
Merci.

dim variable as integer
dim chaine as string

chaine = "variable"
variable = 1234
text1.text = valeur(chaine) 'renvoi 1234

Public Function valeur(chaine as string)
?
?
End Function

5 réponses

cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
19 déc. 2003 à 09:38
Ben tu as les fonctions chr$ et asc$ qui te renvoient le caractère d'un code ascii pour chr$ et le code d'un caractère pour asc$... Ca devrait suffir non???
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
19 déc. 2003 à 09:52
Il exite une fonction CallByName qui permet faire ce genre de truc, mais elle ne fonctionne qu'avec les objets, donc les classes. En gros, il faudrait que tes 1500 variables soient les propriétés d'une ou plusieurs classes. Mais je ne voit que cette solution pour accéder à une variable via son nom sous forme d'une String.
Il va falloir réécrire tout ton code avec des classes, si ce n'est pas le cas.

Pour ce qui est de ce que te propose Radada, je ne voit pas ou il veut en venir avec chr$() et asc() (et non pas asc$(), soit dit au passage, puisque asc() retourne un numérique, cette fonction ne peut être suffixé avec un $, chose réservée aux fonction retournant une chaine)

Christophe R.
0
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
19 déc. 2003 à 10:03
Ah ouais!! Dsl, j'ai été voir le retour du roi hier, et je suis à l'envers... J'ai cru que Phil156 voulait une fonction qui renvoie la chaine d'une variable passée en paramêtre :D:D. Autant pour moi.. : ((
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
22 déc. 2003 à 11:56
Au Fait, RADADA !! Mon fils de 2ans est fan de ton logo !!
Je peux plus le décoller du forum VBFrance quand il tombe dessus ...

Christophe R.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_radada Messages postés 488 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 21 avril 2009 1
22 déc. 2003 à 13:29
lol, merci ; ))
0
Rejoignez-nous