[R] Progression d'un transfert FTP

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Avatar du membre
cortexx
Niveau 2
Niveau 2
Messages : 27
Enregistré le : lun. 26 juil. 2010 14:24
Status : Hors ligne

[R] Progression d'un transfert FTP

#1

Message par cortexx »

Bonjour,

J'ai un petit soucie avec l'affichage de la progression d'un transfert FTP. Avec le code ci dessous le transfert s'éffectue, mais la ProgressBar ne réagis pas, pourriez vous m'aidez ?

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <FTPEx.au3>
#include <File.au3>

Opt("GUIOnEventMode", 1)

$server = 'ftp.xxxx.fr'
$username = 'xxxx'
$pass = 'xxxx'

$GUI_FTP = GUICreate("Transfert FTP", 200, 70)
GUISetOnEvent($GUI_EVENT_CLOSE, "WindowCloseForm")

$ProgressBar = GUICtrlCreateProgress(10, 10, 180, 15)
GUICtrlCreateButton("Transfert", 60, 40, 80, 20)
GUICtrlSetOnEvent(-1, "_TransfertFTP")

GUISetState()
While 1
    Sleep(100)
WEnd

Func _TransfertFTP()
    $Open = _FTP_Open('FTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

    $FTP_FilePut = _FTP_FilePut($Conn, "test", "test", $FTP_TRANSFER_TYPE_UNKNOWN)
    _FTP_ProgressUpload($Conn, $FTP_FilePut, "test" , "_Update_Progress")

    _FTP_Close($Conn)
    _FTP_Close($Open)
EndFunc

Func _Update_Progress($Percentage)
    GUICtrlSetData($ProgressBar, $Percentage)
EndFunc

Func WindowCloseForm()
    Exit
EndFunc
Modifié en dernier par cortexx le mar. 07 juin 2011 10:53, modifié 1 fois.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Progression d'un transfert FTP

#2

Message par matwachich »

Essai ça

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <FTPEx.au3>
#include <File.au3>

Opt("GUIOnEventMode", 1)

$server = 'ftp.xxxx.fr'
$username = 'xxxx'
$pass = 'xxxx'

$GUI_FTP = GUICreate("Transfert FTP", 200, 70)
GUISetOnEvent($GUI_EVENT_CLOSE, "WindowCloseForm")

$ProgressBar = GUICtrlCreateProgress(10, 10, 180, 15)
GUICtrlCreateButton("Transfert", 60, 40, 80, 20)
GUICtrlSetOnEvent(-1, "_TransfertFTP")

GUISetState()
While 1
    Sleep(100)
WEnd

Func _TransfertFTP()
    $Open = _FTP_Open('FTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

    $FTP_FilePut = _FTP_FilePut($Conn, "test", "test", $FTP_TRANSFER_TYPE_UNKNOWN)
    _FTP_ProgressUpload($Conn, $FTP_FilePut, "test" , "_Update_Progress")

    _FTP_Close($Conn)
    _FTP_Close($Open)
EndFunc

Func _Update_Progress($Percentage)
    GUICtrlSetData($ProgressBar, $Percentage)
    Return 1 ; ###
EndFunc

Func WindowCloseForm()
    Exit
EndFunc
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
cortexx
Niveau 2
Niveau 2
Messages : 27
Enregistré le : lun. 26 juil. 2010 14:24
Status : Hors ligne

Re: [..] Progression d'un transfert FTP

#3

Message par cortexx »

Merci, mais ça ne focntionne pas :?
Le transfert se fait bien, mais j'arrive pas à récupérer cette variable $Percentage. Quand je fait un ConsoleWrite($Percentage) il veux rien m'afficher aussi, donc je pense que c'est l'appel de fonction _Update_Progress à partir de la commande _FTP_ProgressUpload qui fonctionne mal.
Avatar du membre
cortexx
Niveau 2
Niveau 2
Messages : 27
Enregistré le : lun. 26 juil. 2010 14:24
Status : Hors ligne

Re: [..] Progression d'un transfert FTP

#4

Message par cortexx »

J'ai trouvé :D
Modifier la fonction _TransfertFTP comme ça

Code : Tout sélectionner

Func _TransfertFTP()
    $Open = _FTP_Open('FTP Control')
    $Conn = _FTP_Connect($Open, $server, $username, $pass)

    _FTP_ProgressUpload($Conn, "test", "test" , "_Update_Progress")

    _FTP_Close($Conn)
    _FTP_Close($Open)
EndFunc
et bien laisser le Return 1 dans la fonction _Update_Progress
Répondre