Procedure random

Résolu
cs_jujube Messages postés 19 Date d'inscription dimanche 27 octobre 2002 Statut Membre Dernière intervention 21 janvier 2013 - 13 mars 2009 à 20:59
cs_jujube Messages postés 19 Date d'inscription dimanche 27 octobre 2002 Statut Membre Dernière intervention 21 janvier 2013 - 13 mars 2009 à 21:40
Bonjour à tous, oh que oui, je suis un débutant. J'ai cherché dans ce forum, mais mon coco ne comprends toujours pas. Dans un Label, j'aimerais que son BackColor et son Forecolor soit Random. Mais je voudrais déterminer les 6 couleurs pour le backcolor et la même chose pour le forecolor. Comment je m'y prends SVP ?

Merci à l'avance

Vous êtes tous des champions...Bravo

4 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
13 mars 2009 à 21:37
Le 1er indice d'un Array est 0 et pas 1
Si tu as 4 éléments dans ton array, le 1er est d'indice 0 et le dernier d'indice 3
en conséquence :
Int((4 * Rnd) + 1)
ne convient pas, puisque le 4 pourra "sortir" alors qui'il ne correspond pas à un indice possible
Enlève le + 1 !!!
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
13 mars 2009 à 21:15
Bonjour,

tu mets tes 6 "bakcolor" dans un array et tes 6 "ForeColor" dans un autre
Tu t'intéresses ensuite à Rnd et à Randomize (ton aide en ligne) pour tirer aléatoirement un indice de ton premier Array et un indice du second ... et tu appliques à BackColor le contenu de l'indice tiré pour le 1er Array et à ton ForeColor celui de l'indice tiré pour le second.
Te voilà maintenant sur des rails.
Reviens avec ton essai de code et dis-nous au besoin où tu coinces...
0
cs_jujube Messages postés 19 Date d'inscription dimanche 27 octobre 2002 Statut Membre Dernière intervention 21 janvier 2013
13 mars 2009 à 21:29
Voici un peu ce que je cherche à faire, mais il me donne l'erreur "Indice en dehors de la plage"

Private Sub Timer1_Timer()

Dim b_Color
Dim f_Color

'Randomize (que je le mette ou non ça ne change rien)

b_Color = Array(0, 10289152, 41216, 278016)
f_Color = Array(16777215, 65535, 8191999, 16766207)


Label1.BackColor = b_Color(Int((4 * Rnd) + 1))
Label1.ForeColor = f_Color(Int((4 * Rnd) + 1))

Merci à l'avance pour votre compréhension.

Vous êtes tous des champions...Bravo
0
cs_jujube Messages postés 19 Date d'inscription dimanche 27 octobre 2002 Statut Membre Dernière intervention 21 janvier 2013
13 mars 2009 à 21:40
Merci beaucoup pour la rapidité et la justesse de ta réponse.

Jujube

Vous êtes tous des champions...Bravo
0
Rejoignez-nous