Download ftp inet avec progressbar

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 126 fois - Téléchargée 35 fois

Contenu du snippet

Voila un petit code sympa qui permet de telecharger un fichier sur un ftp avec une barre de progression et le pourcentage.

il faut :
Une progressbar nomé : pb
un label1 : label1
un controle inet : inet1

Source / Exemple :


Private Sub Command1_Click()

Dim taille, pourcent As Integer
Dim fic_source, fic_destination As String

fic_source = "fichier" 'fichier a telecharger
fic_destination = "c:\fichier" 'fichier de destination

With Inet1
.Protocol = icFTP 'declaration protocole
.URL = "ftp://user:pass@serverftp" 'le ftp
End With
Inet1.Execute , "size /" & fic_source 'demande la taille du fichier a telecharger

Do Until Inet1.StillExecuting = False 'boucle pendant le traitement de inet
DoEvents
Loop

taille = Inet1.GetChunk(1024) 'recuperation de la taille dans taille

pb.Value = 0 'definition de la valeur minimum
pb.Max = taille 'definition de la valeur maximum

'telechargement du fichier
Inet1.Execute , "get " & fic_source & " " & fic_destination

Do Until Inet1.StillExecuting = True 'boucle pendant le traitement de inet
On Error Resume Next
DoEvents
pb.Value = FileLen(fic_destination) 'mise a jour de la valeur de la progressbar PB
pourcent = (pb.Value / taille) * 100 'calcul du pourcentage reçu
Label1.Caption = pourcent & "%" 'affichage du % du telechargement
Loop
End Sub

Conclusion :


J avais trouver un code sur ce site mais il fallait donner la taille du fichier du ftp, je me suis donc m'y et utiliser la commande size de inet!!!!
Enfin c pas super complex mais ca peu servir????

A voir également

Ajouter un commentaire Commentaires
Messages postés
5
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
7 février 2007

second opus:

evitez de passer en mode PASV, ca plante sans cesse. Pour la fonction taille = Inet1.GetChunk(1024) qui retourne ( "" ), En passant par le ftp (prompt) on s apercoit que la plupart des providers n autorisent plus la commande size. Pour ma part je vais bricoler avec un batch et un fichier text tempo
Messages postés
2
Date d'inscription
lundi 5 juin 2006
Statut
Membre
Dernière intervention
4 octobre 2006

Bonjour,

J'aimerais savoir comment éviter que getchunk nous renvoi taille = ""!

Merci beaucoup
Maxime
Messages postés
5
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
7 février 2007

--> Gabyk

Pour passer en mode PASV il faut utiliser la commande de controle "quote" puis d utiliser le mode PASV, la commande a envoyer est "quote PASV". ne mettez pas le Inet en boucle pour le traitement, car c est une commande de control et il n y a pas de traitement.
Messages postés
4
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
5 septembre 2006

Bonjour,
j'ai le meme probleme, getchunk me renvoie ""
Je precise que mon chemin est tres court : "/bdd.mdb"
Si quelqu'un a une solution ca serait cool
Merci :)
Messages postés
2
Date d'inscription
dimanche 26 juin 2005
Statut
Membre
Dernière intervention
19 avril 2006

Tu dois ajouter le controle inet1 sur ta form...
Vas dans Projet/Composants/ et coche "Microsoft Internet Transfert Control" . Ensuite mets-en un sur ta form.
Afficher les 29 commentaires

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.