_FTP_ProgressUpload in GUI anzeigen

  • Liebe Autoit-Profis,

    ich möchte, dass der Progress von _FTP_ProgressUpload in dieser Gui angezeigt wird:

    Script
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <FTPEx.au3>
    #Region ### START Koda GUI section ### Form=
    $ftpupload= GUICreate ("_FTP_ProgressUpload",620,55,-1,-1,BitOr($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
    $progressbar=GUICtrlCreateProgress (32,16,489,25)
    $prozent=GUICtrlCreateLabel ("0",544,16,25,24)
    $prozentzeichen=GUICtrlCreateLabel ("%",570,16,25,24)
    GUICtrlSetFont (-1,12,800,0,"MS Sana Serif")
    GUISetState (@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit]


    Leider habe ich weder in der Autoithilfe noch im Forum etwas passendes gefunden und hoffe deshalb darauf, dass irgendjemand in diesem Forum diese Funktion versteht. :S

    Bitte um schnelle Antwort und vielen Dank im Voraus. :thumbup:

    Einmal editiert, zuletzt von drop (15. Dezember 2012 um 10:57)

  • Leider habe ich weder in der Autoithilfe noch im Forum etwas passendes gefunden und hoffe deshalb darauf, dass irgendjemand in diesem Forum diese Funktion versteht.

    anhand dessen solltest du es lösen können:

    wenn du mit der Forensuche nichts gefunden hast lässt dies eigentlich nur den Schluss zu dass du der 1. bist der es nicht anhand der Hilfe lösen konnte. Ich kann dich breuhigen, dem ist nicht so, siehe https://autoit.de/index.php?page…4838#post244838 diesem Skript braucht man nur noch deine GUI verpassen und in der Func _UpdateProgress zwei Zeilen mit GuiCtrlSetData einfügen und 2 Zeilen (Progress...) löschen, das ganze sieht dann so aus:

    nur öffnen wenn du es nicht selbst schaffst
    [autoit]

    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <FTPEx.au3>
    #include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 1)

    [/autoit] [autoit][/autoit] [autoit]

    _example1()
    _example2()

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    Beispiel mit externem Progressfenster zur Demostration der Fortschrittsanzeige mit einer Benutzerfunktion
    #ce
    Func _example1()
    #EndRegion ### END Koda GUI section ###
    #Region ### START Koda GUI section ### Form=
    GUICreate ("_FTP_ProgressUpload",620,55,-1,-1,BitOr($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
    Global $progressbar=GUICtrlCreateProgress (32,16,489,25)
    Global $prozent=GUICtrlCreateLabel ("0",544,16,25,24)
    Global $prozentzeichen=GUICtrlCreateLabel ("%",570,16,25,24)
    GUICtrlSetFont (-1,12,800,0,"MS Sana Serif")
    GUISetState (@SW_SHOW)
    Local $s_ServerName = 'autobert.bplaced.net' ;dieser Server existiert nicht
    Local $s_Username = "autobert"
    Local $s_Password = "13BPBert1158"
    Local $i_Passive = 0 ;aktive Verbindung nutzen wenn bei anderen Server Probleme dann auch mit 1 für passive Verbung testen

    [/autoit] [autoit][/autoit] [autoit]

    Local $s_LocalFile = @ScriptDir & "\_FTP_FilePut3.au3"
    Local $s_RemoteFile = "test.tst"
    Local $s_RemoteDir = "/FTPTestfiles/"
    Local $l_InternetSession, $l_FTPSession
    Local $errOpen, $errFTP

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists(@TempDir & "\tmp.tmp") Then FileDelete(@TempDir & "\tmp.tmp") ;Nur um sicher zustellen dass das File nicht existiert

    [/autoit] [autoit][/autoit] [autoit]

    $l_InternetSession = _FTP_Open('AuoItZilla') ;Öffnet eine FTP Sitzung
    $errOpen = @error
    If Not @error Then
    $l_FTPSession = _FTP_Connect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_Passive) ;Verbindet zu einem FTP Server
    $errFTP = @error
    If Not @error Then
    _FTP_DirSetCurrent($l_FTPSession,$s_RemoteDir)
    ConsoleWrite(_FTP_DirGetCurrent($l_FTPSession) & @CRLF)
    _FTP_ProgressUpload($l_FTPSession, $s_LocalFile, $s_RemoteFile,"_UpdateProgress")
    If @error Then ConsoleWrite("Fehler bei _FTP_ProgressUpload: " & @error & @CRLF)
    Else
    MsgBox(0, "Connect", "fehlgeschalagen")
    ConsoleWrite("Connect: " & " " & $errFTP & @CRLF)
    EndIf
    Else
    MsgBox(0, "Open", "fehlgeschalagen")
    ConsoleWrite("Open " & " " & $errOpen & @CRLF)
    EndIf
    _FTP_Close($l_InternetSession)
    EndFunc ;==>_example1

    [/autoit] [autoit][/autoit] [autoit]

    Func _UpdateProgress($i_Percent)
    GUICtrlSetData($progressbar, $i_Percent)
    GUICtrlSetData($prozent, $i_Percent)
    If _IsPressed("77") Then Return 0 ; Abbruch bei F8
    Return 1 ; bei 1 Fortsetzten
    EndFunc ;==>_UpdateProgress

    [/autoit]

    die Anmeldedaten musst du natürlich noch auf dich anpassen,

    mfg autoBert

    3 Mal editiert, zuletzt von autoBert (26. April 2012 um 14:25)