OVH Cloud OVH Cloud

[Débutant] Variables et indirection

3 réponses
Avatar
Stéphane Miqueu
Bonjour,

Petite question simple, mais dont je ne parvient pas à trouver la
solution, je suis avec Visual Studio 2005 mais je suppose que c'est
identique avec VB6.

J'ai 4 labels dans une form : lbl1, lbl2, lbl3 ezt lbl4.
Je voudrais leur affecter une valeur à l'intérieur d'une boucle FOR. Un
truc du style :

FOR iCpt = ...
(lbl & iCpt).text = "Ma valeur"
NEXT

Mais je n'arrive pas à trouver la syntaxe correcte ...

Merci.

--
Ami Calmant
Stéphane

3 réponses

Avatar
Fred
Dans : news:,
Stéphane Miqueu disait :
Bonjour,



Bonjour,

Petite question simple, mais dont je ne parvient pas à trouver la
solution, je suis avec Visual Studio 2005 mais je suppose que c'est
identique avec VB6.



Non, très différent au contraire.

J'ai 4 labels dans une form : lbl1, lbl2, lbl3 ezt lbl4.
Je voudrais leur affecter une valeur à l'intérieur d'une boucle FOR.
Un truc du style :

FOR iCpt = ...
(lbl & iCpt).text = "Ma valeur"
NEXT



Dans ta classe form, tu déclare un champ public ainsi :
Dim MesLabels as Label()

Et dans le form load tu écris :
Me.MesLabels = New Label(){Me.lbl1, Me.lbl2, Me.lbl3, Me.lbl4}

Ensuite
For iCpt = 0 To 3
MesLabels(iCpt).Text = "MaValeur"
Next


--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
Stéphane Miqueu
Fred a écrit :
Bonjour,
Non, très différent au contraire.


Oups, alors désolé de poster dans le mauvais groupe.


Dans ta classe form, tu déclare un champ public ainsi :
Dim MesLabels as Label()

Et dans le form load tu écris :
Me.MesLabels = New Label(){Me.lbl1, Me.lbl2, Me.lbl3, Me.lbl4}

Ensuite
For iCpt = 0 To 3
MesLabels(iCpt).Text = "MaValeur"
Next



En attendant, c'est exactement ce que je voulais. Pile-poil. Je me
coucherai moins bête ce soir.
Ce truc me plais. Je galère vraiment pour me mettre à VB.NET mais je
dois avouer que c'est quand même puissant.
Merci beaucoup.

--
Ami Calmant
Stéphane
Avatar
Vincent Guichard
Salut

Fred a probablement raison quand à la différence entre VB2005 et VB6.

En VB6, pour accéder aux contrôles par leurs noms, on peut utiliser la
collection Controls. On en a déjà discuté il y a pas si longtemps: voir
le fil de discussion # et plus
particulierement mon message news:452f8a93$0$25931$

Vincent Guichard