Declaration automatique de variable [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
5 octobre 2005
-
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
-
Bonjour à tous,



Voici mon pb:



Je debute en VB.

Je voudrais reussir à declarer une variable en combinant un string et
une autre variable pour ainsi pouvoir creer des variables uniques dans
des boucles.



En PHP, il suffit de faire comme ca :

$toto2 = 'test';

$toto{$toto2} = 'peut_importe'; //la variable $tototest est alors créée.



Si quelqu'un à un tuyau, il pourra me faire gagner pas mal de place dans mon code ;)



@ +,



tiloulou73

10 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut,
c'est une question déjà évoquée et qui n'est pas résolvable sous VB6
désolé
PCPT
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
5 octobre 2005

Merci quand meme pour l'info au moins je vais pouvoir arreter de chercher;)



Saurais-tu si cela est possible en VB net?



@ +
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
Bonjour,

Je ne connais pas le PHP, que donne (ou que renvoie) la variable $tototest ?

jpleroisse
Messages postés
3
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
5 octobre 2005

En fait cela te permet de creer des variables uniques automatiquement dans les boucles.



Dans cet exemple $tototest vaut 'peut_importe'



Ce qui importe c'est d'avoir pu déclarer une variable en fonction du nom d'une autre ;)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
je ne connais pas .NET, mais je suis quasiment certain que ce n'est pas faisable non-plus.
(jamais lu de réponse positive à ce sujet en .NET en tout cas)
PCPT
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
Re bonjour,

Je vais peut-être dire une bêtise, mais si tu places dans un Module:

Public Tototest As String

Ensuite tu peux donner la valeur que tu veux à la variable.



Private Sub Command1_Click()

Tototest = "Bonjour"

Text1 = Tototest

End Sub



jpleroisse
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
non JpLeroisse,
le principe est en comparaison à PHP.
c'est à dire que tu utilises par exemple
$a qui serait Dim a as Variant

ce que Tiloulou73 voudrait faire, en comparaison, çà serait :

a = "bonjour"
pour ariver à une syntaxe acceptable de :
Dim abonjour as Variant <-- en dynamique

soir une sorte de Dim a[CONTENU_DE_$a] as Variant

seulement vb nécessite une déclaration EXPLICIT.
cette déclaration dynamique est donc irrésolvable

par contre Tiloulou73, je vois bien éventuellement un bidouillage propre, mais qui me semble inutile :
faire un tableau à 2 dimentions (1 à double type), la première contenant la sting qui est ce que tu attendais de ta déclaration impossible, et la 2 avec son contenu

tu aurais donc
MyTab(0).Col1 = "abonjour"
MyTab(0).Col2 = 73

tu restes en utilisation d'un tableau qui est donc correctement déclaré (explicitement) et ensuite, tu cherches la valeur de la colonne 2 à l'indice dont la colonne 1 correspond à ta recherche...

demande si besoin et intérêt, je ferais un petit exemple.

PCPT
Messages postés
516
Date d'inscription
samedi 3 février 2001
Statut
Modérateur
Dernière intervention
24 octobre 2006
1
Tu pourrais utiliser des collections ou des tableaux. Les collections permette d'attribuer une valeur a une clé.
Exemple
macollection("toto") = "test"


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Dans la série des collections, il y a aussi possibilité de créer dynamiquement des labels invisibles avec un nom de variable et le contenu qu'on veut lui donner. Des exemples sur le site.

Pour moi; quel que soit le langage utilisé, la création de variables "à la volée" n'est que le résultat d'une appli mal pensée et source de plantages à répétition.
En tous cas, question maintenance : pas la peine d'y penser, et question de l'utilisation de ces "variables" : des on error blablabla partout dans le code ?
Mais, ce n'est que mon avis et je le partage.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
oui, je suis assez d'accord. en fait tiloulou73 ca serait interressant si tu nous disais pourquoi tu veux faire ca en VB.


a premiere vue je ne vois pas d'application c'est pour ca que ca m'interesse.


sinon j'ai vu sur ce site ici : http://www.vbfrance.com/code.aspx?ID=31324


une classe qui permet d'implémenter une table de hachage.


car pourrait le faire aussi non ?