BARRE PICTUREBOX

hhhp2004 Messages postés 173 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 13 octobre 2007 - 16 juil. 2004 à 05:26
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 16 juil. 2004 à 14:00
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

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
16 juil. 2004 à 14:00
Oui, c vraiament pas mal. 8/10
daetips Messages postés 142 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 10 novembre 2007
16 juil. 2004 à 13:55
C'est bon j'ais changé le code source
cs_Pingouin Messages postés 262 Date d'inscription lundi 26 août 2002 Statut Membre Dernière intervention 24 août 2005
16 juil. 2004 à 12:39
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
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 juil. 2004 à 07:50
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
hhhp2004 Messages postés 173 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 13 octobre 2007
16 juil. 2004 à 05:26
pas mal du tout ...... 10/10 pour le style (et le code aussi)
Rejoignez-nous