télécharger un fichier
Le
scraper
bonjour à tous !
suite de mes démêlées de téléchargement de fichier
j'essaie désespérément de télécharger un fichier depuis un site internet,
avec une boite indiquant la progression du téléchargement, et que
l'exécution du code soit stoppée durant le téléchargement
j'ai essayé
DoFileDownload StrConv("MonUrl", vbUnicode)
qui fournit en effet une superbe boite de progression mais est
asynchrone donc, mon code se poursuit, et je ne sais pas si le
téléchargement a réussi ou pas .
essai aussi de
URLDownloadToFile(Source, Cible) qui s'exécute de manière synchrone, mais
sans montrer de progression du téléchargement
y aurait il une 3° voie qui combinerait ces deux là ?
:-)
merci par avance.
--
Attention ! Adresse mail invalide
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper
suite de mes démêlées de téléchargement de fichier
j'essaie désespérément de télécharger un fichier depuis un site internet,
avec une boite indiquant la progression du téléchargement, et que
l'exécution du code soit stoppée durant le téléchargement
j'ai essayé
DoFileDownload StrConv("MonUrl", vbUnicode)
qui fournit en effet une superbe boite de progression mais est
asynchrone donc, mon code se poursuit, et je ne sais pas si le
téléchargement a réussi ou pas .
essai aussi de
URLDownloadToFile(Source, Cible) qui s'exécute de manière synchrone, mais
sans montrer de progression du téléchargement
y aurait il une 3° voie qui combinerait ces deux là ?
:-)
merci par avance.
--
Attention ! Adresse mail invalide
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper

Poser une question


Tu peux utiliser la dernière méthode de ce post:
http://groups.google.com/groups?sel...09.phx.gbl
Le téléchargement est effectué de manière asynchrone. Il te suffit de
récupérer l'événement Complete pour déterminer quand il faut continuer
l'exécution.
C'est aussi faisable via URLDownloadToFile en utilisant son dernier membre.
Il faut alors avoir une typelib qui décrit l'interface IBindStatusCallback.
Le problème est que s'il y a un plantage du serveur, il y aura plantage de
l'API, et comme on travaille de manière synchrone tout le programme serait
planté!
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"scraper" news:
hello :-)
http://groups.google.com/groups?sel...09.phx.gbl
ben j'y ai été, tu penses bien ! :-)
mais j'ai dû louper un truc, ça fonctionne pas ?
j'ai créé un contrôle utilisateur, j'y ai collé la première partie du code,
je l'ai ajouté à la form, où je l'ai appelé comme tu l'indiques :
----------------
Private Sub Form_Load()
UserControl11.Download "http://...", "c:fichier.txt"
End Sub
Private Sub UserControl11_StateChange(lngSate As Long, strState As String)
If lngSate = 0 Then
MsgBox "Erreur !"
End If
End Sub
-----------------
mais il ne se passe rien ?
dois je rajouter qque chose à la feuille ?
ah, OK, je savais pas .... de toutes façons, j'ai effectivement parcouru les
articles de MSDN à ce sujet ... et .. humm ... pas compris grand chose !
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper
Teste peut-être l'événement Complete:
Private Sub UserControl11_Complete(bSuccess As Boolean)
If bSuccess Then
Msgbox "Téléchargement terminé avec succès"
Else
Msgbox "Erreur lors du téléchargement"
End Inf
End Sub
Ce genre d'erreur pourrait se produire si une erreur se produit dans
Download.
Si tu décommente dans Sub Download la ligne MsgBox "Une erreur ...",
l'erreur exacte sera affichée.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"scraper" news:ujRU5j%
news:%23lSxfV$
nous a écrit/répondu :
merci ! :-)
je commence à y voir un peu plus clair ... non sans mal !
bon, étape suivante :
je suis en train de créer ma boite de dialogue de téléchargement, mais
subitement je me demande si je suis pas en train de réinventer la roue ?
lol
que pourrais je utiliser comme contrôle (et comment ?) pour arriver à un
résultat similaire à celui obtenu avec DoFileDownload, par exemple ?
(j'ai déjà réussi à mettre en place une progressbar ...mais le reste ...)
au fait, dans la fonction que tu m'as indiquée donc ... si j'annule le
téléchargement, l'erreur est pas signalée ??
en tout cas, déjà un grand merci !
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper
"scraper" news:
Lors de mes recherches, je n'avais rien trouvé qui permettait
-de faire un téléchargement asynchrone
-avec retour de la progression
-en affichant une boite de dialogue
Ce qui ne veut pas dire que ça n'existe pas ;-)
Pour afficher correctement les différents états de connection, il faut te
référer à l'aide de VB:
http://msdn.microsoft.com/library/e...Object.asp
Le contrôle activeX n'est qu'un "wrapper"...
Les états de connections peuvent être interprétés comme décrit ici:
http://msdn.microsoft.com/library/d...operty.asp
Sinon, effectivement,Cancel ne provoque pas un changement d'état en erreur.
Mais il apelle bien Complete avec false pour success..
Il est bien entendu possible d'améliorer le contrôle.. le code que je
présentais dans l'article visait surtout à montrer une manière de procéder
pour télécharger un fichier de manière asynchrone et pas faire le composant
tout fait le plus génial de tous les temps, de toute la galaxie et au delà.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net