Habe Probleme mit der Ftp Connect/Download sache

  • Hallo liebes Forum!

    Habe ein paar Fragen wegen der FTP Sache: Soll ein Autoit Programm schreiben,welches sich mit dem firmen ftp server verbindet,dort dann

    Dateien herunterläd(welche in einem Unterverzeichnis sind),und den Prozess anzeigt.(brauche kein pw,oder username anzugeben)

    Hab mir die Hilfe angeschaut aber komm irgendwie nicht weiter:(

    Mein script schaut mom so aus:

    [autoit

    #include <FTPEx.au3>

    $server = 'ftp.blabla''


    $Open = _FTPOpen('')
    $Conn = _FTP_Connect($Open, $server)

    If not @error then

    _FTP_FileGet($l_FTPSession, $s_RemoteFile, $s_LocalFile [, $fFailIfExists = False, [ $dwFlagsAndAttributes = 0 [, $l_Flags = 0 [, $l_Context = 0]]]])

    else
    Msgbox(Default,"Error","Error occured " & @error)
    endif

    $Ftpc = _FTP_Close($Open)
    ][/autoit]

    Also so schaut das Script aus,meine Fragen:

    Bei Server trage ich halt den Ftp Server ein,ok!

    Was kommt bei Ftp Open hin? Wo trage ich denn ein WAS er herunterlädt,und WOHIN er es lädt?Das mit der Anzeige hab ich gemerkt,mach

    ich am besten mit _FTP_ProgressDownload . Aber wie gesagt bei FtpOpen versteh ich noch nicht was hinmuss,und er zeigt mir immer

    "unknown function name"an.

    Vielen Dank im Vorraus!:)

  • hallo,

    folgend mal ein beispiel eines ftp tools.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ;#RequireAdmin
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <FTP_Ex.au3>

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

    #include<GuiTreeView.au3>
    #include<EditConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<TreeViewConstants.au3>
    #include<WindowsConstants.au3>

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

    FileInstall("C:\bloodonthedancefloorgreen.jpg", @ScriptDir & "\bloodonthedancefloorgreen.jpg")

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

    ;Dim $filelist, $conn

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

    $server = 'ftp.strato.com'
    $username = 'xxx'
    $pass = 'xxx'

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

    $path = '/intern/documente/'

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

    $open = _FTPOpen('ftp-strato.com')
    $conn = _FTPConnect($open,$server,$username,$pass, true)
    ;MsgBox(0,"",$conn)
    $setdir = _FTPSetCurrentDir($conn, $path)
    ;$filelist = _FTPFilesListTo2DArray ($conn)
    $filelist = _FTPFilesListToArrayEx ($conn)

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

    ;GUI CODE STARTET HIER;
    #Region ### START Koda GUI section ### Form=C:\scripte\ftp_down_upload\Gui_miniFtp.kxf
    $Gui = GUICreate("FTP Client 1.0.0.0", 492, 500, 192, 125)
    ;GUISetBkColor(0x00708090) ; setzt hintergrundfarbe
    $pic = GUICtrlCreatePic(@ScriptDir & "\bloodonthedancefloorgreen.jpg", -60, -130, 0, 0)
    GuiCtrlSetState($pic,$GUI_DISABLE)
    $Group1 = GUICtrlCreateGroup("Filepath from Server = " & $path, 8, 16, 345, 473)
    $liste = GUICtrlCreateList("", 20, 38, 320, 435)
    ;GUICtrlSetData($liste, "")
    $Group2 = GUICtrlCreateGroup("FTP Functions", 368, 152, 105, 217)
    ;GUICtrlSetColor($Group2, 0xFFFFFF)
    $downloadbutton = GUICtrlCreateButton("Download", 379, 174, 79, 26, $WS_GROUP)
    GUICtrlSetBkColor(-1,0x00708090)
    ;GUIctrlSetState($downloadbutton,$GUI_HIDE)
    ;GUIctrlSetState($downloadbutton,$GUI_Disable)
    $uploadbutton = GUICtrlCreateButton("Upload", 379, 212, 79, 26, $WS_GROUP)
    GUICtrlSetBkColor(-1,0x00708090)
    $filedel = GUICtrlCreateButton("Delete", 379, 250, 79, 26, $WS_GROUP)
    ;GUICtrlSetBkColor(-1,0x66CC00)
    GUICtrlSetBkColor(-1,0x00708090)
    ;GUIctrlSetState($filedel,$GUI_Disable)
    $refresh = GUICtrlCreateButton("Refresh", 379, 328, 79, 26, $WS_GROUP)
    GUICtrlSetBkColor(-1,0x00708090)
    ;GUIctrlSetState($refresh,$GUI_Disable)
    $rename = GUICtrlCreateButton("Rename", 379, 286, 79, 26, $WS_GROUP)
    GUICtrlSetBkColor(-1,0x00708090)
    ;GUIctrlSetState($rename,$GUI_Disable)

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

    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i][0]&"|")
    Next

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;GUI CODE ENDET HIER;

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

    while 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    _FTPClose($conn)
    _FTPUnInit()
    FileDelete(@ScriptDir & "\bloodonthedancefloorgreen.jpg")
    Exit
    Case $downloadButton
    ;_download()
    _splash()
    Case $uploadbutton
    _upload()
    Case $filedel
    _fileDel()
    Case $refresh
    ;_refresh()
    _splash()
    Case $rename
    ;_rename()
    _splash()
    EndSwitch
    WEnd

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

    ;----Functions----

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

    Func _download()
    $DownFile = GUICtrlRead ($liste)
    If $DownFile = "" Then
    MsgBox (16, "STOP", "Du musst erst eine Datei auswählen")
    Else
    DirCreate (@ScriptDir & "\Download")
    _FTP_DownloadProgress($conn, @ScriptDir & "\Download\" & $DownFile, "/" & $DownFile)
    EndIf
    EndFunc

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

    Func _upload()

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

    $Uploaddatei = FileOpenDialog("Auswählen","C:\","Alle (*.*)")
    If $Uploaddatei = "" Then
    MsgBox (0, "Achtung!", "Erst eine Datei auswählen!")
    Else
    $dateinamensplit = StringSplit($Uploaddatei, "\")
    $teile = $dateinamensplit[0]
    ;MsgBox(0,"",$teile)
    Global $UploadVorgang = _FTP_UploadProgress($conn, $Uploaddatei, $path & $dateinamensplit[$teile])
    If $UploadVorgang = 1 Then
    MsgBox (64, "Okay", "hochladen erfolgreich")
    GUICtrlDelete($liste)
    $open = _FTPOpen('ftp-strato.com')
    $conn = _FTPConnect($open,$server,$username,$pass, true)
    ;$filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $setdir = _FTPSetCurrentDir($conn, $path)
    $filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $liste = GUICtrlCreateList("", 20, 38, 320, 435)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i][0]&"|")
    Next
    Else
    MsgBox (16, "Error", "Aufgrund eines Fehlers wird das Programm beendet!")
    Exit
    EndIf
    EndIf

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

    EndFunc

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

    Func _fileDel()

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

    $del = MsgBox(52,"Aktion bestätigen","Die datei " & GUICtrlRead($liste) & " wirklich löschen?")
    If $del = 6 Then
    $s_RemoteFile = GUICtrlRead($liste)
    _FTPDelFile($conn, $s_RemoteFile)
    MsgBox(64,"ok","Ok, Die Datei wurde erfolgreich gelöscht")
    GUICtrlDelete($liste)
    $open = _FTPOpen('ftp-strato.com')
    $conn = _FTPConnect($open,$server,$username,$pass, true)
    ;$filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $setdir = _FTPSetCurrentDir($conn, $path)
    $filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $liste = GUICtrlCreateList("", 20, 38, 320, 435)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i][0]&"|")
    Next
    Else
    MsgBox(16,"abbruch","Aktion abgebrochen")
    EndIf

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

    EndFunc

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

    Func _refresh()

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

    GUICtrlDelete($liste)

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

    $open = _FTPOpen('ftp-strato.com')
    $conn = _FTPConnect($open,$server,$username,$pass, true)
    ;$filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $setdir = _FTPSetCurrentDir($conn, $path)
    $filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $liste = GUICtrlCreateList("", 20, 38, 320, 435)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i][0]&"|")
    Next
    MsgBox(0,"ok","Erfolgreich aktualisiert")
    ;~ MsgBox(64,"nönö","schon vergessen? das geht noch nit!")

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

    EndFunc

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

    Func _rename()

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

    $s_Existing = GUICtrlRead($liste)
    $s_New = InputBox("Rename","in welchen Namen soll die Datei umbenannt werden?",$s_Existing)
    If Not @error Then
    _FTPRenameFile($conn, $s_Existing, $s_New)
    MsgBox(0,"ok","Die Datei wurde umbeannt")
    GUICtrlDelete($liste)
    $open = _FTPOpen('ftp-strato.com')
    $conn = _FTPConnect($open,$server,$username,$pass, true)
    ;$filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $setdir = _FTPSetCurrentDir($conn, $path)
    $filelist = _FTPFilesListTo2DArray ($conn,0,0x80000000)
    $liste = GUICtrlCreateList("", 20, 38, 320, 435)
    For $i = 1 to UBound ($filelist) -1
    GUICtrlSetData ($liste, $filelist [$i][0] & "|")
    Next
    Else
    MsgBox(64,"oioi","Aktion abgebrochen!")
    EndIf

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

    EndFunc

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

    Func _splash()

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

    SplashTextOn("Info!", "Button deaktiviert!", 155,38,500,400,0,"",8)
    Sleep(1500)
    SplashOff()
    EndFunc

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

    gruß gmmg ;)