PROGRESS BAR POUR LE TELECHARGEMENT D'UNE PAGE

pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 7 janv. 2004 à 01:20
al51100 Messages postés 3 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 5 mai 2008 - 5 mai 2008 à 17:28
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/19328-progress-bar-pour-le-telechargement-d-une-page

al51100 Messages postés 3 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 17:28
je pense que je suis sur la bonne voi qlln peu m aider dans mes calcul svp

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
Label1.Text = "recherche"
End Sub

Private Sub CopyAvecProgressBar(ByVal WebBrowser1)
' Minumun à 1
ProgressBar1 = 1
'Maximim= nombre total de fichier à copier
ProgressBar1 = WebBrowser1
' On initialise la Progressbar.
ProgressBar1.Value = 1

'On indique le pas.
ProgressBar1.Step = 1

' Boucle de copie
Dim x As interger
For x = 1 To WebBrowser1
' Copier in fichie.
If CopyFile(WebBrowser1(x - 1)) = True Then
'Si la copie est OK incrémenter la Progressbar.
ProgressBar1.PerformStep()
End If
Next x
End Sub
End Class
al51100 Messages postés 3 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 5 mai 2008
5 mai 2008 à 16:33
slt j ai un petit probleme sa fait 3 jour ke j ai vb et je voudrai mettre un progressbar j arrive pas et qlln coné un bon site pour aprendre les calcule


Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
Label1.Text = "recherche"
End Sub
Private Sub


End Sub
End Class

voisi mes calcul
cs_lipo59_60 Messages postés 3 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 25 septembre 2008
26 avril 2006 à 21:23
bonjour pour votre programme Progrss Bar pour le téléchargement est pas mal c'est une trés bonne réalisation pour les débutants.
merci trés bien.
à plus.
cs_fjohn Messages postés 11 Date d'inscription lundi 5 janvier 2004 Statut Membre Dernière intervention 17 août 2005
21 janv. 2004 à 22:45
Arf, tu as raison, je suis desole, j'aurai du mettre un zip et penser au vrai debutant.

Pour ce qui est d'inet, il marche bien chez moi , pas de plantage, bien stable et tout. Avantage d'inet par rapport au reste (pour moi)

Je telecharge directos le source (pas besoin du reste). Un webbrower est plus legerement plus long, vu qu'il choppe les images tout ca (mais je le connais assez peu, peut etre qu'il est possible de chopper que le source).

@Newsky, c'est incomplet, comment gere tu la fin des downloads ? Je vais essayer de revoir le webbrowser qui as l'air d'etre un control des plus interessant, par contre la doc msn est naze la dessus, lamentable je trouve...
NewSky Messages postés 86 Date d'inscription dimanche 27 janvier 2002 Statut Membre Dernière intervention 20 février 2009
21 janv. 2004 à 22:31
moi g fait un truc à la va vite, juste comme ça. c'est juste une trame qui est a rectifié :

Private Sub WebBrowser_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
ProgressBar1.Max = ProgressMax + 1
If Progress <= 0 Then
ProgressBar1.Value = 1
Else
ProgressBar1.Value = Progress
End If

C'est un contrôle WebBrowser qui gère la ProgressBar, je l'ai fait en 1min, y'avait qq bugs que g rectifié en bricolant mais ça paut peut-être t'aider. bon courage
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
8 janv. 2004 à 12:54
Ok mais ici y a pas mal de codeur amateur comme moi qui n'ont jamais fait d'algoritme et peu etre qui ne savent mm pas se que c'est!!

A ce moment la commente ta source et joint un projet zip avec un exemple qui fonctionne et note le en commentaire , car si un debutant test ta source, elle va bugger, et il aura deja du mal a comprendre comment elle fonctionne, alors la debugger!!!!!!!!

Sinon c'est vrai que cette astuce est pas mal mais il n'y a que 4 state donc la Progressbar n'avance qu'en 4 fractions, d'ou mon commentaire precedent "une idée assez grossiére de l'avancement!!!".

Ceci dit c'est trés bien, je n'avais jamais pensé a cette astuce!!! Je vais essayer de voir s'il est possible de recuperer l'avacement plus précisement .

Il existe une facon simple est plus sur pour recuperer le code src d'une page web, c'est d'utiliser le webrowser (bq plus stable que inet) avec ce controle il est facile de recupérer l avancement car il est gérer dans les événements(Plus précis)!!!
Sinon il y a aussi la méthode winsock, ca doit étre faisable aussi!!!

Ps: Inet est réputé pour étre assez instable, j'ai moi mm fais l expérience de programme avec inet qui fonctionne trés bien chez moi, et sur d'autre pc en version Exe ou mm code src ca merdouille a fond!!!! Donc j 'essaie de me passer de ce control qui est vraiment pas mal mais .........
cs_fjohn Messages postés 11 Date d'inscription lundi 5 janvier 2004 Statut Membre Dernière intervention 17 août 2005
7 janv. 2004 à 23:06
Non, je suis desole, je crois que tu m'as mal compris, mais c'est toujours à celui qui explique qui, finalement ,n'est pas assez clair :

then AFFICHER, c'est de l'algorithmie, c'est à dire qu'afficher c'est ce que tu veux dans ton programe, pourvu que tu affiche quelquechose à l'utilisateur.

Timer.enabled = true, ca c'est un pur oubli, la tu as tout a fait raison, je te remercie :)

Pour A, j'ai bien marqué dans les commentaires ci-avant le terme public, donc accessible a toutes les variables du modules il me semble...

Enfin, en ce qui concerne les vas et viens, j'etais au courant du probleme, il n'est pas bien important, d'ailleurs la barre d'IE elle même fait des va et viens sur une même page. L'utilisateur verra (et ce tres rapidement) la barre charger par 2 fois (je n'ai pas constate plus).

Merci en tout cas d'avoir pris la peine de la tester :), et entre nous, qu'ne pense tu ? (Elle a le merite de garder inet tranquillement et de pas etre trop compliquée, non ?)
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
7 janv. 2004 à 01:25
dsl veuillez rectifier : If Inet.StillExecuting = False Then ProgressBar.Value = 12: Timer.Enabled = False

il est temps que je me couche je crois!!! lol
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
7 janv. 2004 à 01:20
Bon ok tu est debutant donc !!!!

Déja plein de bug :

Timer.enabled ca marche pas c plutot Timer.enabled=true!!!

Ensuite : If A = 11 Then AFFICHER "Impossible de trouver la page..."
C koi la fonction afficher de vb, car moi g vb 6 et je l'ai pas (tu dois avoir la dernier version de vb, la version 2123??) Donc plutot :
If A = 11 Then Msgbox "Impossible de trouver la page..."

ensuite il faut declarer la variable A dans la partie declarative de ta form sinon elle n'est valable que dans le sub, et donc dans ton timer a=0 tous le temps!!!!!!

Sinon sur certaine Url (ex:www.yahoo.fr) le state retourne parfois en arriere donc il vaut ecrire :If A > ProgressBar.Value Then ProgressBar.Value = A
Afin de ne pas voir la barre revenir en arriere!!!

Sinon voila le code rectifier si tu veu faire une mise a jour ou si qq veut le tester!!!




Dim A As Integer

Private Sub Form_Load()
Timer.Enabled = False
Timer.Interval = 50
End Sub

Private Sub Command1_Click()
Timer.Enabled = True
ProgressBar.Min = 0
ProgressBar.Max = 12
ProgressBar.Value = 0
Inet.openurl ("www.yahoo.fr")
End Sub

'Evenement généré par le TIMER
Private Sub TIMER_Timer()
If A > ProgressBar.Value Then ProgressBar.Value = A
'Gestion de la progression du chargement
If A = 11 Then MsgBox "Impossible de trouver la page..."
If Inet.StillExecuting False Then ProgressBar.Value 12: Timer.Interval = 0
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

Sinon mis a part c qq bug, la source est assez interessante et c'est plutot une bonne astuce pour avoir une idée assez grossiére de l'avancement!!! (6.5 cause bug!!!)

A l'avenir fait attention a la syntaxe, et comme c'est ta premiere source "félicitation c vraiment pas mal pour un premier post!!!"
Rejoignez-nous