OVH Cloud OVH Cloud

[Débutant] Variables et indirection

2 réponses
Avatar
Stéphane Miqueu
Bonjour,

Petite question simple, mais dont je ne parvient pas à trouver la
solution.
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

2 réponses

Avatar
White Water
Stéphane Miqueu a écrit :
Bonjour,

Petite question simple, mais dont je ne parvient pas à trouver la solution.
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.



========================================================================
Bonjour, je ne sais pas se que tu entend par 'Indirection', mais ton
problème peux se résoudre par une indexation de tes Label.

L'idée ces de créer une variable tableau de type Label, puis de lier
cette variable à tes Label.



Public Class Form1

Dim MesLabels(3) As Label ' Le tableau de Label

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

MesLabels(0) = Label1 ' Associer chaque élément du tableau
MesLabels(1) = Label2 ' Avec un Label
MesLabels(2) = Label3
MesLabels(3) = Label4

For i As Integer = 0 To 3
MesLabels(i).Text = "Label N° " & i ' Modifier les
Next ' propriétées des label en travaillant avec le tableau

End Sub
End Class

A plus.
Avatar
Stéphane Miqueu
White Water a pensé très fort :
Bonjour, je ne sais pas se que tu entend par 'Indirection', mais ton problème
peux se résoudre par une indexation de tes Label.

L'idée ces de créer une variable tableau de type Label, puis de lier cette
variable à tes Label.

Public Class Form1

Dim MesLabels(3) As Label ' Le tableau de Label

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

MesLabels(0) = Label1 ' Associer chaque élément du tableau
MesLabels(1) = Label2 ' Avec un Label
MesLabels(2) = Label3
MesLabels(3) = Label4

For i As Integer = 0 To 3
MesLabels(i).Text = "Label N° " & i ' Modifier les
Next ' propriétées des label en travaillant avec le tableau

End Sub
End Class

A plus.



Merci c'est exactement ça que je voulais faire.
A force de persévérance je vais bien finir par arriver à programmer en
.net

--
Ami Calmant
Stéphane