Page 1 sur 1
[RES]Connaitre la taille transférée pendant le transfert ftp
Publié : jeu. 28/mars/2013 11:38
par omega
Bonjour à tous
Est ce que c'est possible de connaître la taille d'un fichier transférée pendant le transfert ftp?
FTPprogress() nous permet de savoir que le transfert est en cours d'exécution (si différent de -3 et -2) mais on ne sait pas vraiment ce qui a été transféré et ce qui reste à transférer.
J'ai vu ça sur certains logiciels ftp, donc c'est possible mais peut être avec un autre langage (le C++ je suppose) ou à l'aide d'une API windows en Pb??...
Merci
Re: Connaitre la taille transférée pendant le transfert ftp
Publié : jeu. 28/mars/2013 11:43
par falsam
Bonjour Omega. Regarde bien l'aide
PS :
Place le curseur d'édition sur FTPProgress et touche F1 pour avoir l'aide.
Re: Connaitre la taille transférée pendant le transfert ftp
Publié : jeu. 28/mars/2013 12:33
par omega
Pourtant j'ai bien lu et relu tout ce qui concerne le ftp dans l'aide !
Je me demande comment se fait il que je n'ai pas lu cette partie (FTPprogress) je me suis contenté de lire les constantes possibles (en bas de l'aide) mais je n'ai pas lu le texte complet....
Merci pour cette bonne remarque
Re: Connaitre la taille transférée pendant le transfert ftp
Publié : jeu. 28/mars/2013 12:59
par falsam
Un code que j'ai simplifié au maximum.
Code : Tout sélectionner
EnableExplicit
Enumeration
#Ftp
EndEnumeration
Global FtpUrl.s, FtpPort.i, FtpUser.s, FTPPassWord.s
Global InputFile.s, InputFileSize.i, FtpFile.s, FTPdirectory.s
InitNetwork()
;Renseignez vos identifiants ftp
FtpUrl = "?"
FtpPort = 21
FtpUser = "?"
FTPPassWord = "?"
FTPdirectory = ""
If OpenFTP(#Ftp, FtpUrl, FtpUser, FTPPassWord, #PB_Ignore, FtpPort)
SetFTPDirectory(#Ftp, FTPdirectory)
Debug GetFTPDirectory(#Ftp)
InputFile = OpenFileRequester("Choose a file to send", "", "*.*", 0)
Debug InputFile
InputFileSize = FileSize(InputFile)
FtpFile = GetFilePart(InputFile)
Debug FtpFile
If SendFTPFile(#Ftp, InputFile, FtpFile, #ASYNCH) ;En arriere plan
Repeat
Select FTPProgress(#Ftp)
Case #PB_FTP_Started ;Valeur -1
Debug "Début du transfert"
Case #PB_FTP_Finished ;valeur -3
Debug "Transfert terminée"
Break
Case #PB_FTP_Error ;Valeur -2
Debug "Erreur durant le transfert du fichier " + FtpFile
Break
Default
Debug "Il reste " + Str(InputFileSize - FTPProgress(#Ftp)) + " Octets à transférer"
EndSelect
Delay(100)
ForEver
EndIf
CloseFTP(#Ftp)
Else
MessageRequester("Erreur", "Impossible de se connecter au serveur FTP")
EndIf
Re: Connaitre la taille transférée pendant le transfert ftp
Publié : jeu. 28/mars/2013 13:05
par omega
Merci pour cet exemple, je vais tester maintenant.
Re: Connaitre la taille transférée pendant le transfert ftp
Publié : jeu. 28/mars/2013 13:12
par falsam
omega a écrit :Merci pour cet exemple, je vais tester maintenant.
J'ai modifié le code en ajoutant une variable pour fixer le dossier de destination.