cs_yacoubi25
Messages postés2Date d'inscriptionlundi 28 mai 2007StatutMembreDernière intervention16 août 2008
-
31 mai 2008 à 08:04
cs_yacoubi25
Messages postés2Date d'inscriptionlundi 28 mai 2007StatutMembreDernière intervention16 août 2008
-
2 juin 2008 à 23:31
Bonjour ! J'ai besoin de corriger ce code ! il s'agit d'un repertoire sur un site FTP dont je veux récupérer le contenu ! Les deux premiers fichiers sont copiés correctement , mais le reste des fichiers ou perdent le chemin de la source, ce qui est indiqué dans le contenu de ces fichiers " path not found " , ou qu'ils prennent tous le contenu du premier fichier dans la liste , ou qu'il sont nommés en double et bien entendu pas de contenu ! Je m'y perds et je suis débutant en programmation alors HELLLLLPP ME !!!!! :'(
Voici le code :
( list1 est une listbox , sUrl est le chemin de la source , text1 contient l'adresse FTP, text5 contient le nom du repertoire contenant les fichiers ) Le tout est dans une boucle .
Private sub copier_click( )
Dim i As Integer
Dim sUrl As String
List1.ListIndex = i
For i = 0 To List1.ListCount - 1
Dim sDest As String
sDest = Text4.Text
If RightB$(sDest, 2) <> "" Then sDest = sDest & ""
sUrl = Text1.Text & Text5.Text & List1.List(i)
List1.ListIndex = i
sDest = sDest & Right$(sUrl & List1.List(i), Len(sUrl) - InStrRev(sUrl, "/"))
Dim aBytes() As Byte, FF As Integer
With Inet1
aBytes = .OpenURL(sUrl, icByteArray)
Do Until Not (.StillExecuting)
DoEvents
Loop
End With
FF = FreeFile
Open sDest For Binary Access Write As FF
Put #FF, , aBytes()
Close FF
Erase aBytes
File1.Refresh
Next
List1.ListIndex = i
End sub
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 31 mai 2008 à 16:10
Salut
Rappel : La notion "URGENT" n'apporte pas d'intérêt au titre de ta question, elle a même sérieusement tendance à énerver, perso.
L'erreur survient sur quelle ligne ?
Celle de OpenUrl ou celle du Open sDest ?
Avant de savoir d'où vient le problème, ajoute ceci avant le .OpenURL :
Debug.Print "URL >";sUrl;"<"
Idem avant le Open sDest :
Debug.Print "DEST >";sDest;"<"
Tu auras dans la fenêtre de debug (Ctrl-G) le nom des fichiers au fur et à mesure qu'ils sont "calculés".
Si tu y vois quelque chose d'anormal, penche toi alors sur la raison de cette anomalie.
D'autrre part, prends l'habitude de mettre tes déclarations DIM en tête de procédure.
Normalement, un DIM dans une boucle devrait générer une erreur.
Le 1er "List1.ListIndex = i" n'a aucun sens puisque i vaut 0, tu viens de le dimensionner.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_yacoubi25
Messages postés2Date d'inscriptionlundi 28 mai 2007StatutMembreDernière intervention16 août 2008 2 juin 2008 à 23:31
Bonjour mon ami !
Je te remercie enormément pour ton aide trés prècieuse mais il s'est avéré que j'avais un prob dans la boucle qui tournait autour des index ( list.listindex=i).
Maintenant ça fonctionne correctement ! Seulement j'ai un autre prob ! Il parait que INET fait comme il veut ! des fois ça connecte et et des fois pas ( sans message d'erreur ) ! je comprends pas ! je me suis dis que peut etre ça vient de de l'explorateur iternet explorer alors j'ai installé IE7 ( avec SP2 pour Win XP) ça a marché et puis le meme prob réaparait ! je ne sais pas quoi faire !