FTP Dateiablage (FTP Client)

  • Hallo !
    Hiermit präsentiere ich euch meine FTP-Dateiablage!
    Einfach die Daten des FTP Servers im Skript ändern, und schon könnt ihr mithilfe meines Programms die Dateien im GUI betrachten, und ggf. Files Up/Downloaden.
    Ich nutzte dieses Programm, da es ein "kleiner" FTP-Client ist ^^
    Ich bitte um Kritik, ob es gelungen ist oder nicht ^^

    Hier einmal das Skript, und dann auch nochmal im Anhang!

    Spoiler anzeigen

    [autoit#RequireAdmin
    #include <ListBoxConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <FTP_Ex.au3>

    Global $server = "*************"
    Global $username = "**********"
    Global $pass = "**********"

    Global $Open = _FTPOpen ("MyFTP Control")
    Global $Conn = _FTPConnect ($Open, $server, $username, $pass)
    Global $Filelist = _FTPFilesListTo2DArray ($Conn)

    ;Main
    #Region ### START Koda GUI section ### Form=
    $MainGui = GUICreate("Dateiablage", 625, 443, 352, 204)
    $Header = GUICtrlCreateLabel("Dateiablage", 104, 24, 418, 42)
    GUICtrlSetFont(-1, 24, 800, 0, "Lucida Fax")
    $ListBox = GUICtrlCreateList("", 48, 96, 337, 292)
    $DownloadButton = GUICtrlCreateButton("Download", 432, 136, 145, 57, 0)
    GUICtrlSetFont(-1, 14, 800, 0, "Lucida Fax")
    $UploadButton = GUICtrlCreateButton("Upload", 432, 288, 145, 57, 0)
    GUICtrlSetFont(-1, 14, 800, 0, "Lucida Fax")
    $Copyright = GUICtrlCreateLabel("Geschrieben von: PokerFace", 8, 424, 160, 17)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###

    ;Child
    #Region ### START Koda GUI section ### Form=
    $ChildGui = GUICreate("Dateiablage", 483, 333, 376, 352,BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
    $Durchsuchen = GUICtrlCreateButton("Datei auswählen...", 144, 8, 195, 49, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Lucida Fax")
    $UploadInput = GUICtrlCreateInput("", 48, 72, 385, 21)
    $UploadButton2 = GUICtrlCreateButton("Upload!", 88, 136, 313, 57, 0)
    GUICtrlSetFont(-1, 26, 800, 0, "Lucida Fax")
    $Exit = GUICtrlCreateButton("Exit", 88, 224, 313, 57, 0)
    GUICtrlSetFont(-1, 26, 800, 0, "Lucida Fax")
    GUISetState(@SW_HIDE)
    #EndRegion ### END Koda GUI section ###

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

    GUISetState (@SW_SHOW, $MainGui)

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _FTPClose($Conn)
    _FTPUnInit()
    Exit
    Case $DownloadButton
    Global $DownFile = GUICtrlRead ($ListBox)
    If $DownFile = "" Then
    MsgBox (1, "Achtung!", "Erst eine Datei anklicken!")
    Else
    DirCreate (@ScriptDir&"\FTP Download")
    _FTP_DownloadProgress($Conn, @ScriptDir&"\FTP Download\"&$DownFile, "/"&$DownFile)
    EndIf
    Case $Exit
    GUISetState (@SW_HIDE, $ChildGui)
    GUISetState (@SW_SHOW, $MainGui)
    Case $UploadButton
    GUISetState (@SW_HIDE, $MainGui)
    GUISetState (@SW_SHOW, $ChildGui)
    Case $Durchsuchen
    Global $UploadPfad = FileOpenDialog ("Bitte die zu hochladende Datei auswählen!", "C:\", "All(*.*)")
    GUICtrlSetData ($UploadInput, $UploadPfad)
    Global $PfadGesplittet = StringSplit ($UploadPfad, "\")
    Global $x = UBound ($PfadGesplittet) - 1
    Global $DateiName = $PfadGesplittet[$x]
    Case $UploadButton2
    If $UploadPfad = "" Then
    MsgBox (1, "Achtung!", "Erst eine Datei auswählen!")
    Else
    Global $UploadVorgang = _FTP_UploadProgress($Conn, $UploadPfad, "/"&$DateiName)
    If $UploadVorgang = 1 Then
    MsgBox (0, "Fertig!", "Die Datei wurde erfolgreich hochgeladen!")
    Else
    MsgBox (0, "Fehler!", "Es ist ein Fehler aufgetreten! Das Programm wird beendet!")
    Exit
    EndIf
    EndIf
    EndSwitch
    WEnd
    [/autoit]

    Edit:
    Die FTP_Ex.au3 aus dem dritten Post in diesem Thema wird auch benötigt !
    Sie ist als Dateianhang auch nocheinmal hier rangehängt!

    3 Mal editiert, zuletzt von PokerFace (29. August 2009 um 13:08)

  • Also ich bekomme folgende Meldung:

    Spoiler anzeigen
    [autoit]


    E:\Dateiablage.au3(4,10) : ERROR: can't open include file <FTP_Ex.au3>
    #include <FTP_Ex.au3>
    ~~~~~~~~~^
    E:\Dateiablage.au3(10,41) : ERROR: _FTPOpen(): undefined function.
    Global $Open = _FTPOpen ("MyFTP Control")
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\Dateiablage.au3(11,61) : ERROR: _FTPConnect(): undefined function.
    Global $Conn = _FTPConnect ($Open, $server, $username, $pass)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\Dateiablage.au3(12,49) : ERROR: _FTPFilesListTo2DArray(): undefined function.
    Global $Filelist = _FTPFilesListTo2DArray ($Conn)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\Dateiablage.au3(51,19) : ERROR: _FTPClose(): undefined function.
    _FTPClose($Conn)
    ~~~~~~~~~~~~~~~^
    E:\Dateiablage.au3(52,15) : ERROR: _FTPUnInit(): undefined function.
    _FTPUnInit()
    ~~~~~~~~~~~^
    E:\Dateiablage.au3(60,85) : ERROR: _FTP_DownloadProgress(): undefined function.
    _FTP_DownloadProgress($Conn, @ScriptDir&"\FTP Download\"&$DownFile, "/"&$DownFile)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\Dateiablage.au3(78,82) : ERROR: _FTP_UploadProgress(): undefined function.
    Global $UploadVorgang = _FTP_UploadProgress($Conn, $UploadPfad, "/"&$DateiName)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\Dateiablage.au3 - 8 error(s), 0 warning(s)

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • 1.)
    Downlaod hohlt sich nur den Dateinamen auf dem PC, aber Größe = 0

    2.)
    Upload sagt das ein Fehler aufgetreten ist und Programm beentdet wird.
    gem. Zeile: MsgBox (0, "Fehler!", "Es ist ein Fehler aufgetreten! Das Programm wird beendet!")

    Von der Idee her, schon mal zu schauen was schon auf dem Server ist und dieses anzeigen zu lassen ind er GUi, finde ich es okay und anwendbar.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Mhh ich wundere mich wieso dies bei dir auftritt..
    Bei mir ist alles top!
    Ich schau es mir nochmal an!

  • mhh das wundert mich ^^
    Habe auch Vista und Windows 7 ^^
    Da brauch ich kein Admin !
    Naja, bestimmt funktioniert es dann ;)