Declaration automatique de variable

Résolu
tiloulou73 Messages postés 3 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 5 octobre 2005 - 5 oct. 2005 à 17:17
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 6 oct. 2005 à 10:26
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

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 oct. 2005 à 17:20
salut,
c'est une question déjà évoquée et qui n'est pas résolvable sous VB6
désolé
PCPT
3
tiloulou73 Messages postés 3 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 5 octobre 2005
5 oct. 2005 à 17:22
Merci quand meme pour l'info au moins je vais pouvoir arreter de chercher;)



Saurais-tu si cela est possible en VB net?



@ +
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 oct. 2005 à 17:22
Bonjour,

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

jpleroisse
0
tiloulou73 Messages postés 3 Date d'inscription mercredi 5 octobre 2005 Statut Membre Dernière intervention 5 octobre 2005
5 oct. 2005 à 17:24
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 ;)
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 oct. 2005 à 17:35
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
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
5 oct. 2005 à 18:04
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 oct. 2005 à 18:21
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
0
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
5 oct. 2005 à 20:24
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/
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
5 oct. 2005 à 21:04
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 !?
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
6 oct. 2005 à 10:26
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 ?
0
Rejoignez-nous