FONCTION PROGRESSBAR

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 16 avril 2006 à 00:26
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 16 avril 2006 à 00:26
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/37067-fonction-progressbar

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 avril 2006 à 00:26
Salut,
Hummm ... Ca casse pas trois pattes à un canard.

Ta fonction n'en est pas une, puisqu'elle ne renvoit rien du tout. C'est une procédure.

La variable 'a' n'étant jamais remise à zéro, tu ne peux pas lancer ta fonction (que j'appelerai désormais procédure) deux fois de suite.

A quoi sert le Timer ? Si ce n'est, comme je pense le deviner, à appeler N fois la procédure pProgressBar.


lLbl = a & "%"
De quel type est la variable lLbl ? Un Label ? Dans ce cas, il aurait été mieux d'écrire :
lLbl.Caption = a & "%"

Si bBar est une progressbar, il faut écrire
bBar.Value = a
car c'est bien la propriété Value que tu souhaites modifier ici.

Ta procédure ne pouvant être appelée que depuis un Timer, son intérêt est très limité, voire absent pour toute opération dont on ne connait pas le temps d'exécution (et c'est généralement le cas).
Généralement, la progressbar est appelée depuis une boucle, sans Timer.

Si ta procédure plante (difficile à concevoir, mais sait-on jamais, un objet manquant ...), alors elle affichera une MsgBox (100-a) fois. Ce qui peut faire beaucoup.

Si la progressbar n'a pas été initialisée avec Min=0 et Max=100, alors il y aura des problèmes. C'est à mettre dans ton descriptif. Celui qui récupère ta procédure telle quelle a un certain nombre de choses à faire avant de voir ton code fonctionner correctement.