Problem ... FTP Server mal wieder

  • Hallo,

    mein Script sollte eigtl nur :

    1. die eingegebenen Daten benutzen und sich mit dem FTP Server connecten > funktioniert
    2. Die Dateinamen auf dem FTP Server auslesen und alle vorhandenen Dateien, die sich auf dem FTP Server befinden, in der Edit Box auflisten.

    Naja, ich habe mal einen Testversuch gestartet, also nicht wundern, dass es so bescheuert geschrieben ist, da es nur ein Testversuch sein soll:

    [autoit]


    #RequireAdmin
    #include <FTPEx.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Test", 351, 114, 192, 124)
    $Input1 = GUICtrlCreateInput("", 16, 16, 185, 21)
    $Input2 = GUICtrlCreateInput("", 16, 48, 185, 21)
    $Input3 = GUICtrlCreateInput("", 16, 80, 185, 21)
    $weiter = GUICtrlCreateButton("weiter", 224, 48, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $weiter
    $FTP_open = _FTP_Open("myftp")
    $FTP_Connect = _FTP_Connect($FTP_open,GUICtrlRead($Input1),GUICtrlRead($Input2),GUICtrlRead($Input3))
    GUISetState(@SW_HIDE)
    $Form1 = GUICreate("", 536, 342, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 8, 8, 289, 313)
    GUICtrlSetData(-1, "")
    $Button1 = GUICtrlCreateButton("...", 464, 8, 43, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("", 328, 8, 121, 21)
    $hochladen = GUICtrlCreateButton("hochladen", 392, 88, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hochladen
    $aFile = _FTP_ListToArray($FTP_Connect, 2)
    ConsoleWrite('$NbFound = ' & $aFile[0] & @crlf)
    ConsoleWrite('$Filename = ' & $aFile[1] & @crlf)
    GUICtrlSetData($Edit1,$aFile)
    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

    [/autoit]

    Wieso listet er es nicht auf, wenn ich auf " hochladen " drücke?

    Danke im voraus.

  • Du solltest wirklich langsam mal anfangen selbst nach Lösungen zu suchen. Wenn du schon zu faul dazu bist poste wenigstens vernünftig formatierte/eingerückte Quellcodes.
    Eine GUI innerhalb einer GUI Schleife zu erstellen ist jedenfalls grober unfug, genauso wie es wenig sinnvoll ist für die zweite GUI identische Variablennamen zu verwenden.

    Erstelle alle GUI's am Scriptanfang und mache diese je nach Fall mit guisetstate() sichtbar oder unsichtbar.
    Wenn es danach immernoch nicht funktioniert poste nochmal dein brauchbares überarbeitetes Testscript.

    EDIT:

    Dein Fehler wegen dem Edit Feld liegt im übrigen an dieser Zeile

    [autoit]

    GUICtrlSetData($Edit1,$aFile)

    [/autoit]


    Du musst hier einen String verwenden, mit einem Array kann das Edit Control nichts anfangen.

    [autoit]


    dim $string
    for $i=0 to ubound($aFile)-1
    $string &= $aFile[$i] & @crlf
    next
    GUICtrlSetData($Edit1,$string)

    [/autoit]

    Einmal editiert, zuletzt von misterspeed (12. August 2011 um 21:29)

  • *Edit : Ahh funktioniert so nun danke.

    Allerdings sendet er auch immer mit, wv Dateien vorhanden sind. Egal, ich versuche es erstmal selber zu lösen

    *Edit : gelöst :love: