Benötige etwas Hilfe!

  • Ich möchte, dass man den Pfad einer Datei angeben kann (wo sie sich befindet) und dann dein Ordner auf dem Server angeben kann wo die Datei hinkommen soll!
    Meine Fragen:
    -Zeile 45 was mache ich falsch? (Wie bekomme ich es hin, dass die Server-daten von den inputs in das FTPconnect einbezogen werden?)
    -Wie kann ich machen, dass die progressbar lädt und gleichzeitig die datei hochgeladen wird?
    - Kann man so ein "Durchsuchen-Button" einfügen, dass man nicht selbst den pfad reinschreiben muss?


    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $ES_PASSWORD = 0x0020

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

    $GUI = GUICreate("File Uploader - By Freestylaa", 555, 259, 278, 132)
    $serverftp = GUICtrlCreateInput("FTPserver.server.de", 40, 88, 121, 21)
    $ftpuser = GUICtrlCreateInput("ServerUser", 40, 144, 121, 21)
    $serverpass = GUICtrlCreateInput("password", 43, 197, 121, 21, BitOR("", $ES_PASSWORD))
    $infile = GUICtrlCreateInput("C:\Beispiel.txt", 208, 88, 289, 21)
    $progress = GUICtrlCreateProgress(190, 136, 337, 25)
    $stop = GUICtrlCreateButton("Abbrechen", 192, 208, 97, 25, 0)
    $upload = GUICtrlCreateButton("Upload", 192, 176, 97, 25, 0)
    GUICtrlCreateGroup("File Upload", 8, 8, 537, 241)
    GUICtrlCreateGroup("Server Login:", 24, 40, 153, 193)
    GUICtrlCreateLabel("Server-Adresse:", 40, 64, 79, 17)
    GUICtrlCreateLabel("Server-Username:", 40, 120, 89, 17)
    GUICtrlCreateLabel("", 40, 176, 4, 4)
    GUICtrlCreateLabel("User-Passwort:", 40, 176, 75, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("Ziel-Datei:", 192, 40, 337, 89)
    GUICtrlCreateLabel("Pfad:", 208, 64, 29, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    ; ***********************************
    ; ***********************************

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

    While true
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    case $upload
    ;Serverdaten
    $server = GUICtrlRead($serverftp)
    $username = GUICtrlRead($ftpuser)
    $pass = GUICtrlRead($serverpass)
    $input = GUICtrlRead($infile)
    ;---------
    #include <FTP.au3>
    $dllhandle = DllOpen('wininet.dll')
    $Open = _FTPOpen('MyFTP Control')
    $Conn = _FTPConnect($Open, $server, $username, $pass)
    $Ftpp = _FTPPutFile($Conn, $input)
    $Ftpc = _FTPClose($Open)
    DllClose($dllhandle)
    MsgBox(64,"Abgeschlossen!", "Datei wurde hochgeladen!")
    EndSwitch
    WEnd

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

    Func terminate()
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von FreeStylaa (17. Dezember 2008 um 18:50)

  • Mit der Progressbar kann ich dir jetzt nicht viel weiterhelfen, da ich sie selber nie gebraucht hab aber um deine dritte Frage zu beantworten schau dir mal

    Spoiler anzeigen
    [autoit]

    FileOpenDialog

    [/autoit]

    in der Hilfe an und binde mal die FTP.au3 als include ein und probiere es dann nochmal die fehlt nämlich :D

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Meinst du jetzt am anfang? weil unter "case $upload" is die bei..

    Dieser fehler erscheint unten:

    ==> Duplicate function name.:
    Func _FTPOpen($s_Agent, $l_AccessType = 1, $s_ProxyName = '', $s_ProxyBypass = '', $l_Flags = 0)

    • Offizieller Beitrag

    Du mußt die FTP.AU3 nicht mehr Includen , hast du doch schon in Zeile 42. Solltest du aber lieber an den Anfang des Scrip´s setzen.

  • Hab es mal ein bisschen bearbeitet und ich kriege jetzt keine Fehlermeldung mehr. Leider konnte ich nichts hochladen. Aber egal ändern musst du nur

    Spoiler anzeigen
    [autoit]

    $Ftpp = _FTPPutFile($Open, $input, "", 0, 0)

    [/autoit]

    Probier das dann nochmal aus

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei