Comment simplifier mon code? [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
28 janvier 2008
-
Messages postés
7
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
28 janvier 2008
-
Bonjour,

Je suis débutant en vb6 et je me retrouve bloqué dans l'avancement de mon projet parce que je ne sais pas comment simplifier mon code.
je vais essayer de vous expliquez ce que j'aimerais bien peut être pourriez-vous m'aider ?
En faite j'ai plusieurs picturebox nommée img1 , img2 , img3 ... et il faudrait à l'aide d'un timer qu'il m'affiche dans une des picturebox une image déja présente dans une autre picturebox nommée "imagebase" par exemple mais pas dans n'importe qu'elle picturebox. Je dispose d'une variable qui a comme valeur 1 au départ , donc quand la variable à la valeur 1 il faudrait qu'il mette la même image que dans " imagebase" dans "img1" , si la variable à la valeur 2 qu'il la mette dans "img2" et aisin de suite...

Voila comment je pensais coder tout ça dans le timer :

Private Sub Timer1_Timer()
If var > 0 then
img & var.picture ? = imagebase.picture  ( je sais c'est ridicule mais j'vois pas comment exprimer ça ^^" )
end if
End Sub

Sinon à la barbare je peux aussi faire ...

Private Sub Timer1_Timer()
If var = 1 then
img1.picture = imagebase.picture
ElseIf var = 2 then
img2.picture = imagebase.picture
ElseIf var = 3 then
img3.picture = imagebase.picture
ElseIf ... 

Mais vu le nombre de picturebox que j'ai , j'vais y passer la nuit. =/

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
Mauvaise technique : Quand tu as des objets ressemblants, il faut créer un tableau d'objet simplement en les indexant.
Tu crées le premier PictureBox
Tu vas dans ses propriétés mettre son index à 0 (les index commencent à zéro - y penser quand ta variable vaudra 1, il faudra penser à retirer 1 pour faire 0)
Dans l'environnement graphique de VB6, tu copie cet objet et tu le dupliques (presque) autant de fois que tu veux.
Ensuite, côté programme, il te suffit de choisir l'objet grace à son index :
   maPictureBox(Var - 1).Image = ImageBase.Picture

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
28 janvier 2008

Merci beaucoups Jack , je ne savais pas du tout à quoi servait les index. Je tente d'apprendre par moi même alors je me débrouille comme je peux. ^^

Tout fonctionne maintenant , encore merci et bonne nuit. =)