begin process at 2012 02 13 22:45:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > DOWNLOAD FTP INET AVEC PROGRESSBAR

DOWNLOAD FTP INET AVEC PROGRESSBAR


 Information sur la source

Note :
8,67 / 10 - par 6 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Control Niveau :Initié Date de création :29/04/2003 Date de mise à jour :29/04/2003 23:11:04 Vu :16 056

Auteur : pcpunch

Ecrire un message privé
Site perso
Commentaire sur cette source (29)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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????


 Sources du même auteur

Source avec Zip Source avec une capture SIMON EN VB
Source avec Zip Source avec une capture GRAVURE CD AVEC NEROCMD DEPUIS APPLI VB
Source avec Zip Source avec une capture RADIO SUR INTERNET
Source avec Zip Source avec une capture AFFICHE DES TITULAIRES FOOTBALL (MCFOOTMANAGER)
Source avec Zip Source avec une capture IMPRESSION LABEL DVD

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

Commentaires et avis

Commentaire de Jielde le 30/04/2003 00:42:26

Super, sa marche bien, mais les fichier de 755k par exemple il ne les dl pas. pk ?

Merci

Commentaire de devsurf le 30/04/2003 00:42:59

Idem que l'upload-trés bien

Commentaire de pcpunch le 30/04/2003 00:44:22

sais pas chez moi pas de probleme, mais attention inet ne supporte pas les chemin avec des espace!! je ne sais pas si ca vien de ca, mais c une piste. Je ne sais pas si il est possible de contourner se probleme???

Commentaire de Jielde le 30/04/2003 00:48:08

le lien est "monftp.com/Patch/Patch02.rar" et meme avec ftp dans une commande dos; il dit qu'il n'arrive pas a ouvrir le fichier.

Commentaire de diablotin le 04/05/2003 23:53:10

marche po pentoute icit

Commentaire de pcpunch le 05/05/2003 08:53:59

koi??? (marhce po pentoute icit???)
Ce code marche tres bien !!!!

Commentaire de Jielde le 05/05/2003 09:35:10

Oui il marche tès bien, mais t'a trouvé un moyen pour les fichier de + de 700ko ? car j'arrive pas a en trouvé, avec la commande ftp de win, sa ne marche pas non plus.

Commentaire de pcpunch le 05/05/2003 09:44:48

chez moi pas de prob pour les fichiers de + 700 ko????

Commentaire de Jielde le 05/05/2003 09:52:42

et + de 1Mo ?

Commentaire de pcpunch le 05/05/2003 20:02:12

idem!! marche tester avec 3mo!!!!

Commentaire de Jielde le 08/05/2003 14:51:36

tu l'a testé a partir de kelle hébergeur ?

Commentaire de Jielde le 08/05/2003 15:32:30

Bon j'ai créer un ftp a partir de mon ordi, sa marche bien sauf que ej n'est pas le temps de voir la barre progressé ;-) sinon a partir de multimania ou ifrance sa ne marche pas, il n'arrive pas a trouver la taille du fichier, et apres il ne dl rien.le fichier fais 2mo ou 5mo pour le 2eme

Commentaire de kraven le 21/06/2003 15:08:54

salut,
Super ca marche nikel mais j'ai un petit soucis. Si le fichier destination existe deja ca ne fonctionne pas y'as t'il un moyen de l'ecrasser?

Commentaire de gilardh le 20/07/2003 15:46:46

salut,

La fonction taille = Inet1.GetChunk(1024) me renvoie rien. ( "" )
Qui a une idée ?

regards

gilardh

Commentaire de gilardh le 25/07/2003 02:20:30

Ca y est cela fonctionne.
Par contre un p'tit probléme qui n'est pas du à ton programme mais a Inet je suppose.

Quand j'annule un téléchargement en cours (inet.cancel), le programme reste figé durant une bonne minute voir plus.

Comment éviter cela ?

Regards

Gilardh

Commentaire de FlashYop le 15/09/2003 10:58:05

Bonjour ton codes est bien mais utilise un ocx inet hors sous vb.net il y a déjà moyen de télécharger un fichier (http) avec web.DownloadFile, mais seulement il n'existe pas de web.stillDownloadFile ... y'aurait-il un moyen avec System.web ?

Commentaire de mallett le 12/03/2004 11:24:12

Bonjour,

Je débute en VB et je m'arrache les cheveux depuis 3 jours sur les fonction qui tourne autour de INET et principalement le fait que g fait copier/coller de ton code (en rentrant les parametre URL / Fichier et destination, mais g bo m'acharner g le souci suivant :

La fonction taille = Inet1.GetChunk(1024) me renvoie rien. ( "" )

J'ai oublier koi !!!!! merci pour votre aide.

regards

Thierry

Commentaire de pcpunch le 12/03/2004 12:17:24

Je te repond en Pv !!!

Commentaire de falstuff le 24/09/2004 08:33:43

Bonjour,
De meme, ton code à l'air de fonctionner mais j'ai un probleme, la fonction taille = Inet1.GetChunk(1024) me renvoit la valeur null !!!
merci de votre aide
Falstuff

Commentaire de gabyk le 03/11/2004 21:04:00

Salut les gars,
ça serait bien de répondre sur le board afin que tout le monde est l'info,
Maintenant, jvais faire le boulet, et jvais reposer la meme question, comment on fait quand on a en valeur de taille avec le GetChunk : ""
Et est ce que quelqu'un sait comment on gere le PASV ?
Parce qu'honnetement, j'ai rien trouvé.
Merci d'avance. (et si quelqu'un répond, ça serait bien de le faire ici, afin de profiter a tous)

Commentaire de Drakkhen le 31/01/2005 04:51:22

Je sais pas si ça peut être ça, mais les contrôles OCX fournis avec VB6 datent de 1997...
Ils ne gèrent pas tous les noms de fichiers longs (ex : "C:\Program Files" devient "C:\Progra~1"), ils ne gèrent pas les fonctions récentes (c'est logique), etc...

A mon avis, vous feriez mieux d'essayer un contrôle OCX récent, ou une librairie DLL récente pour avoir moins de problèmes.

Par exemple la DLL de Internet Explorer : wininet.dll
Y'a quelques sources dessus, et vous trouverez facilement sur un site de recherche.

A+

Commentaire de thomvaill le 04/02/2005 19:35:32

Merci, ca m' a aider pour un prog (que je pense , que je metterai sur vbfrance)

Commentaire de nicowana le 06/06/2005 17:44:40

merci mais moi sous vb6, il me demande ce qu'est inet1 ??
que dois-je faire?
merci

Commentaire de Tantaluss le 19/04/2006 16:52:18

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.

Commentaire de Tantaluss le 19/04/2006 16:52:41

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.

Commentaire de novagum le 05/09/2006 16:57:26

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 :)

Commentaire de mmarfil le 03/10/2006 11:06:02

--> 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.

Commentaire de johnson95 le 03/10/2006 11:18:00

Bonjour,

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

Merci beaucoup
Maxime

Commentaire de mmarfil le 03/10/2006 11:28:27

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

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,101 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales