BARRE PICTUREBOX

Signaler
Messages postés
173
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
13 octobre 2007
-
Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/24603-barre-picturebox

Messages postés
1467
Date d'inscription
samedi 13 mars 2004
Statut
Membre
Dernière intervention
5 mai 2010
3
Oui, c vraiament pas mal. 8/10
Messages postés
142
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
10 novembre 2007

C'est bon j'ais changé le code source
Messages postés
262
Date d'inscription
lundi 26 août 2002
Statut
Membre
Dernière intervention
24 août 2005

Pas mal pour l'idée mais c'est vrai que le code est perfectible. Je préfère celui de Renfield qui est nettement plus "propre". Mais bon c'est pas mal : 7/10
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
très gentil a toi hhhp2004, mais quelques peu disproportionné.....

I et J sont déclarés en variables globales, c'est inutile.

les variables vertvbcyan et bleuvbcyan pourraient être des constantes.

vertvbcyan = (vbCyan And &HFF00FF00) / 256
vertvbcyan = (vbCyan And &HFF00FF00) / 256
Bleuvbcyan = (vbCyan And &HFFFF0000) / (65536)
Bleuvbcyan = (vbCyan And &HFFFF0000) / (65536)

pourquoi mettre ces lignes en double ?



RGB(0, vertvbcyan + I * 0, Bleuvbcyan + I * 0)

est-ce que ca ne ferait pas simplement :

RGB(0, vertvbcyan , Bleuvbcyan )

d'ailleurs, c'est amusant, puisque tu récupères.... VbCyan !!!

enfin, tu aurais pu utiliser un Timer ! car ralentir la boucle avec un :
For J = 1 To 60000 'le temps
Next

va donner des résultats inégaux selon le poste utilisé, et et de toute facon bien trop rapide !


voila une version quelques peu corrigée :

Option Explicit

Private Sub Commencer_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
'# i conservera sa valeur à chaque itération de la procedure
Static i As Integer

barre.Line (i, 0)-(i, barre.ScaleHeight), vbCyan

i = i + 1

If i = barre.ScaleWidth Then
i = 0
barre.Cls
End If
End Sub
Messages postés
173
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
13 octobre 2007

pas mal du tout ...... 10/10 pour le style (et le code aussi)