ProgressBar : komenonfé?

noisy - 25 juil. 2001 à 09:49
 ceyquem - 25 juil. 2001 à 19:33
Comme je fais une mise à jour assez balèze dans mon appli (vérification de plus de 8500 lignes dans une table)
J'aimerais utiliser une progressBar pour que l'utilisateur voies bien que l'appli n'a pas planté.
Quelqu'un pourrait-il m'expliquer quel est le fonctionnement d'une progressBar SVP?
Et en passant, comment gérer un erreur de fin de table (même avefc un compteur, je sais pas pkoi, mais j'au toujours une erreur sur cette vérification) : juste si quelqu'un connait le err.number...

7 réponses

il suffit de définir les valeurs min et max de la barre, ex:
ProgressBarr.Min=0
ProgressBarr.Max=100

Puis a chaque fois que le prog verifie une ligne, tu fais:
ProgressBarr.Value = x/8500 * 100

ou x = nombre de lignes deja verifiées,
8500 = nombre de lignes max
0
si tu peux, règle de trois :

pb.value = pb.max*i/nblignes

où i est la variable de la boucle for
(si boucle do, incrémente i de 1 en 1)

nblignes est le nombre de tours (~8500)

pb un progressbas.

si tu veux, tu peux faire de belles progressbar
avec des contrôles shape.

ceyquem
0
Aaaah intéressant, mais avec le shape, commment on fait??? Car vois-tu je suis pas très doué au dessin genre Picasso!!! :big)

Merci d'avance pour ta réponse! ou alors 1 p'tit tuto' si cé pô trop te demander sur mo mail?!... ;)

Allez bone prog'!!!!!

Gogogogogogogogoooooooo
0
Tuto vite fait : PROGRESSBAR AVEC DES SHAPES

Deux shapes nécessaires
- shpMax > pour délimiter la barre de progression en blanc avec contour noir par exemple.
- shpValue > la barre de progression en elle même en bleu par exemple.

Au départ, par exemple : en mode création :
shpMax.Width = 1000
shpMax.Height = 250
shpMax.Left = 240
shpMax.Top = 600

shpValue.Width = 0
shpValue.Height = 250
shpValue.Left = 240
shpValue.Top = 600

Ensuite, besoin d'une procédure :

Public Sub ProgressMyBar(barValue as Long, barMax As Long)
shpValue.Width = shpMax.Width * barValue / barMax
End Sub

Enfin, dans ta boucle For tu fais :

For i = 0 To M
ProgressMyBar i, M
instructions...
Next i

Dans une boucle Do : connaissant le maximum comme étant M

i=0
Do
ProgressMyBar i, M
i=i+1
Loop While test

www.lesiteweb.fr.st contient plein de leçons de ce genre...
A Bientôt,

- C. Eyquem
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
-------------------------------
Réponse au message :
-------------------------------

Tuto vite fait : PROGRESSBAR AVEC DES SHAPES

Deux shapes nécessaires
- shpMax > pour délimiter la barre de progression en blanc avec contour noir par exemple.
- shpValue > la barre de progression en elle même en bleu par exemple.

Au départ, par exemple : en mode création :
shpMax.Width = 1000
shpMax.Height = 250
shpMax.Left = 240
shpMax.Top = 600

shpValue.Width = 0
shpValue.Height = 250
shpValue.Left = 240
shpValue.Top = 600

Ensuite, besoin d'une procédure :

Public Sub ProgressMyBar(barValue as Long, barMax As Long)
shpValue.Width = shpMax.Width * barValue / barMax
End Sub

Enfin, dans ta boucle For tu fais :

For i = 0 To M
ProgressMyBar i, M
instructions...
Next i

Dans une boucle Do : connaissant le maximum comme étant M

i=0
Do
ProgressMyBar i, M
i=i+1
Loop While test

www.lesiteweb.fr.st contient plein de leçons de ce genre...
A Bientôt,

- C. Eyquem
________________________________

Trop cool! Allez vite je fé 1 copie-colle!! :big)
ben j'peux pô dire ke t'es 1 lent, t'es genre Turbo-diesel!! lol :-p

Merci bcp en tout cas!!!!! Allez gogogogogoo, envie de tester si jé bien compris ta leçon!!! ;)

Allez bone prog'!!!!!!!!!!!

Gogogogogogooooooo
0
moi, j'ai un autre pb : j'utilise arj.exe sous dos pour compresser des bases de données (sauvegardes), j'aurais voulu mettre un progressbar indiquant la progression de ces progession alors que j'utilise arj en passant par la commande Dos.
0
Hum hum, ça c'est bien plus complexe et à mon avis même irréalisable. cependant, ce n'est que mon avis... :)

non, je sais simplement que pour la copie de fichiers, on peut avoir un progressbar via api.

côté DOS, c'est plus embêtant...

a+
0
Rejoignez-nous