vandest
Messages postés7Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention30 janvier 2012
-
23 janv. 2012 à 18:26
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
30 janv. 2012 à 17:24
codeurs de vbfrance bonsoir !!
En deux mots voici mon probleme!!
Je dois telecharger SIMULTANEMENT plusieurs fichiers dont je ne sais pas a l'avance le nombre !!
je me sers d'un webclient que j'incremente a chaque telechargement
j'utilise "monwebclient_downloadprogresschanged " pour intercepter le pourcentage telechargé
le probleme viens des barres de progression!!
comment dire au programme que tel pourcentage de progression correspond a tel fichier ???
pour etre plus clair voici des extraits de mon code
[i]dans les declarations
Private WithEvents charge As New WebClient dans l'evenement click du bouton telecharger
charge = New WebClient charge.DownloadFileAsync(New Uri(adr), My.Computer.FileSystem.SpecialDirectories.MyDocuments & "" & nomfile)
dans l'evenement charge_downloadprogresschanged
[b]progressbar1.value =e.progresspercentage
/b/i
En remerciant d'avance toutes celles et ceux qui voudrons bien s'attarder sur mon probleme
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 23 janv. 2012 à 18:34
Bonjour,
Je ne comprends pas.
Tu connais le nom du fichier (ta variable nomfile)
Il te suffit de donner à cette variable une portée (générale ou publique) et sa valeur sera accessible partout à chaque instant ===>> en montrer le contenu dans un label.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
vandest
Messages postés7Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention30 janvier 2012 29 janv. 2012 à 01:09
bonsoir ucfoutu,
Tout d'abord merci d'avoir pris le temps de me repondre, votre reponse ne solutionne helas pas mon probleme !!!!mais peut-etre (et meme surement me suis-je mal exprimé....).Je vais tenter avec un exemple...
1er telechargement
tout vas bien (un webcleint,un progressbar qui augmente bien au fur et a mesure)pas de probleme !!
2eme telechargement et suivant
ca se complique(un webcleint,un progressbar qui reste a zero et qui me remets le premier progressbar a zero avant de l'utiliser a son compte....
suis je plus clair ainsi ??? Je l'espere car ca fais un bout de temps que je suis bloqué sur ce truc (aimerais bien passer a autre chose !!)
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 29 janv. 2012 à 04:26
Salut,
Si je comprends bien ton problème est que tu souhaites faire une barre de progression globale ? C'est ça ?
Mais comme tu le dis toi même tu ne connais pas le nombre de téléchargement à l'avance. Ici il ne s'agit pas d'un problème de programmation mais de logique. On ne peut pas faire de statistique sur un chiffre que l'on ne connait pas. Pour palier à cela la seule solution est d'envoyer une requête pour obtenir la liste des fichiers avant le premier téléchargement et compter combien il y a de fichier. Par la suite le reste est simple.
Tu déclares une variable Total et tu lui donne comme valeur le nombre de fichier à télécharger.
Dim Total As Integer 0, Current As Integer 0
Total = 'Nombre de fichier...
à chaque téléchargement tu incrémente la variable Current
Current += 1
charge = New WebClient
charge.DownloadFileAsync(New Uri(adr), My.Computer.FileSystem.SpecialDirectories.MyDocuments & "" & nomfile)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 29 janv. 2012 à 08:07
Re,
J'ai l'impression de finir par comprendre que ce que veut dire vandest est à la fois différent de ce que j'avais cru comprendre et de ce que Mayzz a perçu.
Qu'il ne s'agit ni du nom de fichier, ni d'un pourcentage de progression par rapport à un total.
Il semble que la difficulté se vandest est celle, pour chaque fichier téléchargé, de faire avancer la progressbar qui lui correspond
il a 2 progressbars. il télécharge simultanément deux fichiers à la fois, et veut que la progression de leur téléchargement soit constaté sur une progressbar pour l'un et sur l'autre progressbar pour l'autre. Et n'a qu'un évènement charge_downloadprogresschanged
N'en suis pas certain, mis je pense que c'est cela, qu'il veut exprimer.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 29 janv. 2012 à 08:21
Je ne comprends pas grand chose de VB.Net.
Je m demande cependant si la solution ne se trouverait pas Dans cette rubrique MSDN Mille excuses si à côté de la plaque.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
vandest
Messages postés7Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention30 janvier 2012 29 janv. 2012 à 16:13
bonjour,
Ucfoutu a parfaitement cerné mon probleme !!! (en 3 mots en plus !!)
pour chaque fichier telechargé faire avancer le progressbar qui lui correspond sans connaitre a l'avance le nombre de fichiers a telecharger !! Merci encore de prendre le temps de vous pencher sur mon petit probleme
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 29 janv. 2012 à 16:33
Une précision/question : les chargements simultanés se font-ils depuis la même valeur adr ?
Car si 2 différentes, une solution pourrait-être une expression conditionnelle sur un clone de cette variable (à mettre en portée générale) pour le choix de la progressbar
Enfin. Je n'en sais pratiquement rien. Juste une idée, en "aveugle".
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
vandest
Messages postés7Date d'inscriptiondimanche 3 avril 2005StatutMembreDernière intervention30 janvier 2012 30 janv. 2012 à 17:05
bonjour,
voici les extraits de mon code qui me posent probleme !!
imports system.net
dans la declaration de ma form :
public friend withevents charge as new webclient
public friend withevents pb as new progressbar
public adr as string ' textbox ou je rentre l'adresse (c'est du http) du fichier a telecharger
dans le bouton de telechargement :
charge= new webclient
pb = new progressbar
charge.DownloadFileAsync(new uri(adr),surmonrdi)
Private Sub charge_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles charge.DownloadProgressChanged
pb.Value = e.ProgressPercentage
End Sub
voila ou j'en suis !! petite precision pour Mayzz,mes progressbar crées dynamyquement sont placés dans un tablelayoutpanel