J'essaye d'ajouter une barre de progression =E0 un transfert ftp par
inet mais la propri"t=E9 getchunk me retourne rien.
Savez vous d'ou provient ce probleme ?
Inet1.Execute , "size /" & fic_source 'demande la taille du fichier a
telecharger
Do Until Inet1.StillExecuting =3D False 'boucle pendant le traitement de
inet
DoEvents
Loop
taille =3D Inet1.GetChunk(1024) 'recuperation de la taille dans taille
En sortie, j'ai taille=3D""=20
=20
Merci=20
=20
Johnson
Au secours, il y a vraiment rien qui fonctionne j'ai tout essayé ....(enfin tous ce que je sait faire) Personne a une autre idée ?
Vincent Guichard
a écrit :
Au secours, il y a vraiment rien qui fonctionne j'ai tout essayé ....(enfin tous ce que je sait faire) Personne a une autre idée ?
Alors, on va voir si j'ai bien compris ce que tu veux faire.
Tu transferts des fichiers par FTP sur un serveur, et tu voudrais afficher une barre de progression suivant l'avancement du téléchargement.
Postulats: 1- Le transfert de fichier (.Execute, "PUT") ne pose pas de problèmes. 2- La lecture de la taille d'un fichier (.Execute, "SIZE") ne pose pas de problèmes. 3- Le serveur ne place pas les fichiers en cours de téléchargement dans un tampon (ou un fichier temporaire). 4- Le serveur accepte au moins deux connexions entrantes de la même provenance (IP)
Alors, pour pouvoir afficher une barre de progression, il te faudra 1- Créer deux contrôles INET1 pour le transfert, INET2 pour le suivit. 2- Utiliser INET1.Execute , "PUT " & Filename pour commencer à transférer le fichier. 3- Tant que INET1.StillExecuting, utiliser INET2.Execute , "SIZE " & Filename pour récupérer la taille des données déjà transférées. 4- Ne pas oublier de fermer les connexions INET1 et INET2 après usage.
Vincent Guichard
john.ambou@free.fr a écrit :
Au secours, il y a vraiment rien qui fonctionne j'ai tout essayé
....(enfin tous ce que je sait faire)
Personne a une autre idée ?
Alors, on va voir si j'ai bien compris ce que tu veux faire.
Tu transferts des fichiers par FTP sur un serveur, et tu voudrais
afficher une barre de progression suivant l'avancement du téléchargement.
Postulats:
1- Le transfert de fichier (.Execute, "PUT") ne pose pas de problèmes.
2- La lecture de la taille d'un fichier (.Execute, "SIZE") ne pose pas
de problèmes.
3- Le serveur ne place pas les fichiers en cours de téléchargement dans
un tampon (ou un fichier temporaire).
4- Le serveur accepte au moins deux connexions entrantes de la même
provenance (IP)
Alors, pour pouvoir afficher une barre de progression, il te faudra
1- Créer deux contrôles INET1 pour le transfert, INET2 pour le suivit.
2- Utiliser INET1.Execute , "PUT " & Filename pour commencer à
transférer le fichier.
3- Tant que INET1.StillExecuting, utiliser INET2.Execute , "SIZE " &
Filename pour récupérer la taille des données déjà transférées.
4- Ne pas oublier de fermer les connexions INET1 et INET2 après usage.
Au secours, il y a vraiment rien qui fonctionne j'ai tout essayé ....(enfin tous ce que je sait faire) Personne a une autre idée ?
Alors, on va voir si j'ai bien compris ce que tu veux faire.
Tu transferts des fichiers par FTP sur un serveur, et tu voudrais afficher une barre de progression suivant l'avancement du téléchargement.
Postulats: 1- Le transfert de fichier (.Execute, "PUT") ne pose pas de problèmes. 2- La lecture de la taille d'un fichier (.Execute, "SIZE") ne pose pas de problèmes. 3- Le serveur ne place pas les fichiers en cours de téléchargement dans un tampon (ou un fichier temporaire). 4- Le serveur accepte au moins deux connexions entrantes de la même provenance (IP)
Alors, pour pouvoir afficher une barre de progression, il te faudra 1- Créer deux contrôles INET1 pour le transfert, INET2 pour le suivit. 2- Utiliser INET1.Execute , "PUT " & Filename pour commencer à transférer le fichier. 3- Tant que INET1.StillExecuting, utiliser INET2.Execute , "SIZE " & Filename pour récupérer la taille des données déjà transférées. 4- Ne pas oublier de fermer les connexions INET1 et INET2 après usage.
Vincent Guichard
john.ambou
Suite a vos recommandations voici le code source que j'ai développé :
Dim taille As Variant Dim pourcent As Integer Dim fic_source, fic_destination As String
fic_source = "c:2.bmp" 'fichier a uploader" fic_destination = "test" 'fichier de destination"
taille = Inet2.GetChunk(1024) While Inet2.StillExecuting = False DoEvents Wend
pb.Value = taille
Wend
Cela ne fonctionne pas mais je voudrais savoir pls choses : le second INET je dois les initialiser ave quel parametre au niveau du password et du login ? peut on mettre ce de INET1 ou faut'il en créer un autre ou l'ajout de lURL suffi ?
Sinon j'espere ne peut avoir fais de faute de programmation....
je vous remercie de votre aide
Johnson
Suite a vos recommandations voici le code source que j'ai développé :
Dim taille As Variant
Dim pourcent As Integer
Dim fic_source, fic_destination As String
fic_source = "c:2.bmp" 'fichier a uploader"
fic_destination = "test" 'fichier de destination"
taille = Inet2.GetChunk(1024)
While Inet2.StillExecuting = False
DoEvents
Wend
pb.Value = taille
Wend
Cela ne fonctionne pas mais je voudrais savoir pls choses :
le second INET je dois les initialiser ave quel parametre au niveau du
password et du login ?
peut on mettre ce de INET1 ou faut'il en créer un autre ou l'ajout de
lURL suffi ?
Sinon j'espere ne peut avoir fais de faute de programmation....
taille = Inet2.GetChunk(1024) While Inet2.StillExecuting = False DoEvents Wend
pb.Value = taille
Wend
Cela ne fonctionne pas mais je voudrais savoir pls choses : le second INET je dois les initialiser ave quel parametre au niveau du password et du login ? peut on mettre ce de INET1 ou faut'il en créer un autre ou l'ajout de lURL suffi ?
Sinon j'espere ne peut avoir fais de faute de programmation....
je vous remercie de votre aide
Johnson
john.ambou
C'est la derniere version :
Dim taille As Variant Dim pourcent As Integer Dim fic_source, fic_destination As String
fic_source = "c:2.bmp" 'fichier a uploader" fic_destination = "fichier" 'fichier de destination" pb.Min = 0 pb.Max = FileLen(fic_source) With Inet1 .protocol = icFTP 'declaration protocole .URL = "ftp://81.249.XXX.XX" 'le ftp .username = "*****" .password = "*****" End With
Inet2.URL = Inet1.URL 'initialise inet2 : mm url Inet2.username = Inet1.username 'initialise inet2 : mm username Inet2.password = Inet1.password 'initialise inet2 : mm password Inet2.protocol = Inet1.protocol 'initialise inet2 : mm protocol
Do Until Inet1.StillExecuting = False 'boucle pendant le traitement de inet1 On Error Resume Next If Inet2.StillExecuting = False Then 'si inet2 n'est pas actif
Inet2.Execute , "size /" & fic_destination 'demande la taille du fichier sur le ftp Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2 DoEvents Loop
taille = Inet2.GetChunk(1024) 'recuperation du size dans taille Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2 DoEvents Loop
'affichage de la progressbar
pb.Value = taille 'affichage de l'avancement de pb pourcent = (pb.Value / pb.Max) * 100 'calcul du pourcentage reçu Label1.Caption = pourcent & "%" 'affichage du % du telechargement
End If Loop
La barre de progression ainsi que le label de pourcentage ne fonctionne pas! Enfin ils fonctionnent que a la fin du transfert, jai ma barre de progressiona fond et 100% pour le label. Il est coincé dans une boucle pendant le transfert .....
je ne sais pas comment faire ...
C'est la derniere version :
Dim taille As Variant
Dim pourcent As Integer
Dim fic_source, fic_destination As String
fic_source = "c:2.bmp" 'fichier a uploader"
fic_destination = "fichier" 'fichier de destination"
pb.Min = 0
pb.Max = FileLen(fic_source)
With Inet1
.protocol = icFTP 'declaration protocole
.URL = "ftp://81.249.XXX.XX" 'le ftp
.username = "*****"
.password = "*****"
End With
Inet2.URL = Inet1.URL 'initialise inet2 : mm url
Inet2.username = Inet1.username 'initialise inet2 : mm username
Inet2.password = Inet1.password 'initialise inet2 : mm password
Inet2.protocol = Inet1.protocol 'initialise inet2 : mm protocol
Do Until Inet1.StillExecuting = False 'boucle pendant le traitement de
inet1
On Error Resume Next
If Inet2.StillExecuting = False Then 'si inet2 n'est pas actif
Inet2.Execute , "size /" & fic_destination 'demande la taille
du fichier sur le ftp
Do Until Inet2.StillExecuting = False 'boucle pendant le
demande inet2
DoEvents
Loop
taille = Inet2.GetChunk(1024) 'recuperation du size dans taille
Do Until Inet2.StillExecuting = False 'boucle pendant le
demande inet2
DoEvents
Loop
'affichage de la progressbar
pb.Value = taille 'affichage de l'avancement de pb
pourcent = (pb.Value / pb.Max) * 100 'calcul du pourcentage
reçu
Label1.Caption = pourcent & "%" 'affichage du % du
telechargement
End If
Loop
La barre de progression ainsi que le label de pourcentage ne fonctionne
pas! Enfin ils fonctionnent que a la fin du transfert, jai ma barre de
progressiona fond et 100% pour le label.
Il est coincé dans une boucle pendant le transfert .....
Inet2.URL = Inet1.URL 'initialise inet2 : mm url Inet2.username = Inet1.username 'initialise inet2 : mm username Inet2.password = Inet1.password 'initialise inet2 : mm password Inet2.protocol = Inet1.protocol 'initialise inet2 : mm protocol
Do Until Inet1.StillExecuting = False 'boucle pendant le traitement de inet1 On Error Resume Next If Inet2.StillExecuting = False Then 'si inet2 n'est pas actif
Inet2.Execute , "size /" & fic_destination 'demande la taille du fichier sur le ftp Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2 DoEvents Loop
taille = Inet2.GetChunk(1024) 'recuperation du size dans taille Do Until Inet2.StillExecuting = False 'boucle pendant le demande inet2 DoEvents Loop
'affichage de la progressbar
pb.Value = taille 'affichage de l'avancement de pb pourcent = (pb.Value / pb.Max) * 100 'calcul du pourcentage reçu Label1.Caption = pourcent & "%" 'affichage du % du telechargement
End If Loop
La barre de progression ainsi que le label de pourcentage ne fonctionne pas! Enfin ils fonctionnent que a la fin du transfert, jai ma barre de progressiona fond et 100% pour le label. Il est coincé dans une boucle pendant le transfert .....
je ne sais pas comment faire ...
john.ambou
Je pense avoir inseré l'ensemble de vos recommandation à l'interieurde celui ci et je vous remercie de votre aide !!
Johnson
Je pense avoir inseré l'ensemble de vos recommandation à
l'interieurde celui ci et je vous remercie de votre aide !!
Je pense avoir inseré l'ensemble de vos recommandation à l'interieurde celui ci et je vous remercie de votre aide !!
Johnson
Essaie de réduire le ResponseTimeout du contrôle Inet1
Vincent Guichard
john.ambou
J'ai réduit 50 40 30 20 10 5 3 1 mais la barre de transfert ne fonctionne plsu il y a juste le label qui à l'air de fonctionner lorsque le timout du INET 1 est passé
Merci de votre aide
J'ai réduit 50 40 30 20 10 5 3 1 mais la barre de transfert ne
fonctionne plsu il y a juste le label qui à l'air de fonctionner
lorsque le timout du INET 1 est passé
J'ai réduit 50 40 30 20 10 5 3 1 mais la barre de transfert ne fonctionne plsu il y a juste le label qui à l'air de fonctionner lorsque le timout du INET 1 est passé