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
[RES]Connaitre la taille transférée pendant le transfert ftp
[RES]Connaitre la taille transférée pendant le transfert ftp
Dernière modification par omega le jeu. 11/avr./2013 10:14, modifié 1 fois.
Win7 (x64) 64 bits Pb 5.72
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Connaitre la taille transférée pendant le transfert ftp
Bonjour Omega. Regarde bien l'aide 
PS : Place le curseur d'édition sur FTPProgress et touche F1 pour avoir l'aide.

PS : Place le curseur d'édition sur FTPProgress et touche F1 pour avoir l'aide.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Connaitre la taille transférée pendant le transfert ftp
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
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
Win7 (x64) 64 bits Pb 5.72
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Connaitre la taille transférée pendant le transfert ftp
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
Dernière modification par falsam le jeu. 28/mars/2013 13:11, modifié 2 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Connaitre la taille transférée pendant le transfert ftp
Merci pour cet exemple, je vais tester maintenant.
Win7 (x64) 64 bits Pb 5.72
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Connaitre la taille transférée pendant le transfert ftp
J'ai modifié le code en ajoutant une variable pour fixer le dossier de destination.omega a écrit :Merci pour cet exemple, je vais tester maintenant.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%