Progress bar pour le telechargement d'une page

Contenu du snippet

Voila, je cherchais à mettre une progress bar dans mon programe lors du telechargement d'une page, et comme je n'ai rien trouvé de tres simple ou fonctionnel comme exemple de script la dessus, j'ai trouvé une bidouille assez simple avec le composant inet.

Vous avez donc besoin :

. D'un composant inet (INET)
. D'un timer (TIMER)
. D'une progressbar (PROGRESSBAR)
. D'une variable (Public A as integer)

Des que vous telechargez :
. reglez le timer sur 100 ms (timer.interval = 100)
. activer le timer (timer.enabled)
Celui-ci génère un unique évènement Timer dont le code est ci-dessous.
. Inet lors du telechargement de la page génère un code(state) allant de 1 à 12 (variable), transmit par l'évènement INET_StateChanged(ByVal State As Integer).

Recuperer ce code, transmettait le a A pour pouvoir le recuperer dans Private Sub TIMER_Timer() puis examinez le : si il est différent de 11, faite progresser votre barre avec :
"PROGRESSBAR.Value = A"
Si il est égal à 11, la page n'est pas téléchargée, afficher alors un message d'erreur de votre choix.
La fin du téléchargement est donné par la fin d'activité d'INET :
"If INET.StillExecuting = False Then PROGRESSBAR.Value = PROGRESSBAR.Max:"
On met donc la progressbar au max.

Source / Exemple :


' Ouverture de la page web
INET.openurl("urlX")
timer.interval=50
timer.enabled
----------------------------------------------------------------------------------------------
'Evenement généré par le TIMER
Private Sub TIMER_Timer()
'Gestion de la progression du chargement
PROGRESSBAR.Min = 0
PROGRESSBAR.Max = 12
PROGRESSBAR.Value = A
If A = 11 then AFFICHER "Impossible de trouver la page..."
If INET.StillExecuting = False Then PROGRESSBAR.Value = PROGRESSBAR.Max: TIMER.Enabled = False
End Sub
----------------------------------------------------------------------------------------------
'Evenement généré par INET
Private Sub INET_StateChanged(ByVal State As Integer)
'Gestion de la progression du chargement
A = State
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.