Problem mit FTP Script

  • Hi, hab folgendes Problem, Ich will, dass mein Script eine Datei von einem FTP Server runter läd, ausließt und in den Edit schreibt.
    Leider läd er sie erst garnicht runter.

    Hier mal das Script soweit ich es hab:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #Include <FTPEx.au3>

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

    Global $ftpOpen

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ServerLog - Live", 651, 763, 192, 124)
    GUISetFont(9, 800, 0, "Arial")
    GUISetBkColor(0x808080)
    $Label1 = GUICtrlCreateLabel("Server-IP:", 8, 8, 60, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input1 = GUICtrlCreateInput("", 8, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Label2 = GUICtrlCreateLabel("Benutzername:", 152, 8, 90, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label3 = GUICtrlCreateLabel("Passwort:", 296, 8, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input2 = GUICtrlCreateInput("", 152, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Input3 = GUICtrlCreateInput("", 296, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD,$WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Edit1 = GUICtrlCreateEdit("", 8, 136, 633, 617, $GUI_SS_DEFAULT_EDIT)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    $Button1 = GUICtrlCreateButton("Verbinden", 8, 56, 91, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button2 = GUICtrlCreateButton("Serverlog bereinigen", 184, 56, 147, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Label4 = GUICtrlCreateLabel("Serverlog:", 8, 120, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Button3 = GUICtrlCreateButton("Speichern", 104, 56, 75, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button4 = GUICtrlCreateButton("Aktuallisieren", 336, 56, 99, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _SaveOpen ()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _FTP_Close ($ftpOpen)
    Exit
    Case $Button2
    GUICtrlSetData ($Edit1, "")
    Case $Button3
    $Read1 = GUICtrlRead ($Input1)
    $Read2 = GUICtrlRead ($Input2)
    $Read3 = GUICtrlRead ($Input3)
    $fOpen01 = FileOpen (@ScriptDir & "\LogIn.dat", 2)
    _LogInSave ($Read1, $Read2, $Read3)
    FileClose ($fOpen01)
    Case $Button1
    $cRead1 = GUICtrlRead ($Input1)
    $cRead2 = GUICtrlRead ($Input2)
    $cRead3 = GUICtrlRead ($Input3)
    _Connect ($cRead1, $cRead2, $cRead3)
    EndSwitch
    WEnd

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

    Func _Connect ($cp1, $cp2, $cp3)
    GUICtrlSetData ($Edit1, "Verbindung wird aufgebaut." & @CRLF & "Bitte warten...")
    $ftpOpen = _FTP_Open ("ServerLog")
    $ftpCon = _FTP_Connect ($ftpOpen, $cp1, $cp2, $cp3)
    If @error Then
    GUICtrlSetData ($Edit1, "Error" & @CRLF & "Verbindung konnte nicht hergestellt werden!")
    Else
    GUICtrlSetData ($Edit1, "")
    EndIf
    _Update ($cp1, $cp2, $cp3, $ftpCon)
    EndFunc

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

    Func _LogInSave ($p1, $p2, $p3)
    $EC1 = _StringEncrypt (1, $p1 & "|" & $p2 & "|" & $p3, "fp7igx", 3)
    FileWrite ($fOpen01, $EC1)
    EndFunc

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

    Func _SaveOpen ()
    If FileExists (@ScriptDir & "\LogIn.dat") Then
    $fRead01 = FileRead (@ScriptDir & "\LogIn.dat")
    $EC0 = _StringEncrypt (0, $fRead01, "fp7igx", 3)
    $Split = StringSplit ($EC0, "|")
    GUICtrlSetData ($Input1, $Split[1])
    GUICtrlSetData ($Input2, $Split[2])
    GUICtrlSetData ($Input3, $Split[3])
    EndIf
    EndFunc

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

    Func _Update ($ccp1, $ccp2, $ccp3, $ccp4)
    GUICtrlSetData ($Edit1, "Daten werden herunter geldaen." & @CRLF & "Bitte warten...")
    $ftpGet = _FTP_FileGet ($ccp4, "/server/minecraft/server.log", @ScriptDir & "\ServerLog.log")
    If @error Then
    GUICtrlSetData ($Edit1, "Fehler beim herrunterladen der Datei!" & @CRLF & "Errorcode: " & @error)
    EndIf
    $fRead02 = FileRead (@ScriptDir & "\ServerLog.log")
    GUICtrlSetData ($Edit1, $fRead02)
    EndFunc

    [/autoit]

    Kann mir evtl. jemand einen Lösungsansatz geben?
    Denke das Problem liegt i.wo hier:

    Spoiler anzeigen
    [autoit]

    Func _Update ($ccp1, $ccp2, $ccp3, $ccp4)
    GUICtrlSetData ($Edit1, "Daten werden herunter geldaen." & @CRLF & "Bitte warten...")
    $ftpGet = _FTP_FileGet ($ccp4, "/server/minecraft/server.log", @ScriptDir & "\ServerLog.log")
    If @error Then
    GUICtrlSetData ($Edit1, "Fehler beim herrunterladen der Datei!" & @CRLF & "Errorcode: " & @error)
    EndIf
    $fRead02 = FileRead (@ScriptDir & "\ServerLog.log")
    GUICtrlSetData ($Edit1, $fRead02)
    EndFunc

    [/autoit]

    Hoffe es kann mir jemand helfen.


    MfG
    Commander21

    PS: Schöne Weihnachten :)

  • Hallo Commander21,

    ich habe gerade dein Programm getestet. es läuft bei mir problemlos. Allerdings hatte ich das Programm an eine vorhandene Datei auf dem FTP angepasst:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #Include <FTPEx.au3>

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

    Global $ftpOpen, $sFile = "asdf.au3", $sRemote ="/", $sLocal = @ScriptDir & "\"
    ;$sFile = Dateiname (Remote+lokal)
    ;$sRemote = Remote-Verzeichis
    ;$sLocal = Loakes Verzeichnis

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ServerLog - Live", 651, 563, 192, 124)
    GUISetFont(9, 800, 0, "Arial")
    GUISetBkColor(0x808080)
    $Label1 = GUICtrlCreateLabel("Server-IP:", 8, 8, 60, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input1 = GUICtrlCreateInput("", 8, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Label2 = GUICtrlCreateLabel("Benutzername:", 152, 8, 90, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label3 = GUICtrlCreateLabel("Passwort:", 296, 8, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input2 = GUICtrlCreateInput("", 152, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Input3 = GUICtrlCreateInput("", 296, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD,$WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Edit1 = GUICtrlCreateEdit("", 8, 136, 633, 417, $GUI_SS_DEFAULT_EDIT)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    $Button1 = GUICtrlCreateButton("Verbinden", 8, 56, 91, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button2 = GUICtrlCreateButton("Serverlog bereinigen", 184, 56, 147, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Label4 = GUICtrlCreateLabel("Serverlog:", 8, 120, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Button3 = GUICtrlCreateButton("Speichern", 104, 56, 75, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button4 = GUICtrlCreateButton("Aktuallisieren", 336, 56, 99, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _SaveOpen ()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _FTP_Close ($ftpOpen)
    Exit
    Case $Button2
    GUICtrlSetData ($Edit1, "")
    Case $Button3
    $Read1 = GUICtrlRead ($Input1)
    $Read2 = GUICtrlRead ($Input2)
    $Read3 = GUICtrlRead ($Input3)
    $fOpen01 = FileOpen (@ScriptDir & "\LogIn.dat", 2)
    _LogInSave ($Read1, $Read2, $Read3)
    FileClose ($fOpen01)
    Case $Button1
    $cRead1 = GUICtrlRead ($Input1)
    $cRead2 = GUICtrlRead ($Input2)
    $cRead3 = GUICtrlRead ($Input3)
    _Connect ($cRead1, $cRead2, $cRead3)
    EndSwitch
    WEnd

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

    Func _Connect ($cp1, $cp2, $cp3)
    GUICtrlSetData ($Edit1, "Verbindung wird aufgebaut." & @CRLF & "Bitte warten...")
    $ftpOpen = _FTP_Open ("ServerLog")
    $ftpCon = _FTP_Connect ($ftpOpen, $cp1, $cp2, $cp3)
    If @error Then
    GUICtrlSetData ($Edit1, "Error" & @CRLF & "Verbindung konnte nicht hergestellt werden!")
    Else
    GUICtrlSetData ($Edit1, "")
    EndIf
    _Update ($cp1, $cp2, $cp3, $ftpCon)
    EndFunc

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

    Func _LogInSave ($p1, $p2, $p3)
    $EC1 = _StringEncrypt (1, $p1 & "|" & $p2 & "|" & $p3, "fp7igx", 3)
    FileWrite ($fOpen01, $EC1)
    EndFunc

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

    Func _SaveOpen ()
    If FileExists (@ScriptDir & "\LogIn.dat") Then
    $fRead01 = FileRead (@ScriptDir & "\LogIn.dat")
    $EC0 = _StringEncrypt (0, $fRead01, "fp7igx", 3)
    $Split = StringSplit ($EC0, "|")
    GUICtrlSetData ($Input1, $Split[1])
    GUICtrlSetData ($Input2, $Split[2])
    GUICtrlSetData ($Input3, $Split[3])
    EndIf
    EndFunc

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

    Func _Update ($ccp1, $ccp2, $ccp3, $ccp4)
    GUICtrlSetData ($Edit1, "Daten werden herunter geldaen." & @CRLF & "Bitte warten...")
    $ftpGet = _FTP_FileGet ($ccp4, $sRemote & $sFile, $sLocal & $sFile)
    If @error Then
    GUICtrlSetData ($Edit1, "Fehler beim herrunterladen der Datei!" & @CRLF & "Errorcode: " & @error)
    EndIf
    $fRead02 = FileRead ($sLocal & $sFile)
    GUICtrlSetData ($Edit1, $fRead02)
    EndFunc

    [/autoit]

    kann sein, dass durch diese Änderung ich einen übersehenen Fehler ausgemerzt habe. Setze also in Zeile 9 die entsprechenden Daten von dir ein:

    [autoit]

    Global $ftpOpen, $sFile = "asdf.au3", $sRemote ="/", $sLocal = @ScriptDir & "\"
    ;$sFile = Dateiname (Remote+lokal)
    ;$sRemote = Remote-Verzeichis
    ;$sLocal = Loakes Verzeichnis

    [/autoit]

    frohe Weihnachten

    autoBert

  • Hat mir evtl. jemand bei diesem Problem helfen?
    Ist recht wichtig, da man sonst schnell den Überblick verliert.

    I.Wie ist das merkwürdig. Er läd zwar jetzt eine Datei runter, löscht sie aber sofort danach wieder und ließt sie auch nicht aus.

  • Hab ich auch schon versucht. hat leider nicht funktioniert.
    Ich hab i.wie das gefühl es liegt am Pfad.

    Hier mal der Pfad wie er im script angegeben ist:

    [autoit]

    Global $ftpOpen, $sFile = "server.log", $sRemote ="server/minecraft/", $sLocal = @ScriptDir & "\"

    [/autoit]

    Hier der Pfad wie ich ihn z.B. aus "FileZilla" kopiere:

    Zitat


    ftp ://xxxxxx@xxx.xxx.xxx.xxx/server/minecraft/server.log


    (ID und IP hab ich mal raus genommen)

    Der Pfad im Script müsste demnach eigl. richtig sein, oder?
    Oder muss ich die "Schlash" (/) i.wie anders setzen, z.B

    [autoit]

    $sFile = "server.log", $sRemote ="/server/minecraft/"

    [/autoit]


    Oder

    [autoit]

    $sFile = "server.log", $sRemote ="/server/minecraft"

    [/autoit]


    Oder so ähnlich...

  • Hallo Commander21,

    diese version:

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

    $sFile = "server.log", $sRemote ="/server/minecraft/"

    [/autoit]

    stimmt. Du kannst da ganze ja zu Testzwecken in der Console ausgeben lassen:

    [autoit]

    Consolewrite($sRemote & $sFile & @crlf)

    [/autoit]

    mfg autoBert

  • Ich komm einfach nich weiter.

    Habs jetz mal noch biss ausgebaut.
    Er zeit mir jetz an:

    Zitat


    Fehler beim Herrunterladen der Datei!
    Fehlercode: -3 / 0


    -3 Soll bei "_FTP_ProgressDownload " wohl bedeuten:
    "Quelldatei konnte nicht geöffnet werden"
    0 Steht für den Fehler.

    Hier nochmal das ganze Script.
    Bin mit meinem Scipt-Latein am Ende ...

    Spoiler anzeigen
    [autoit]


    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include

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

    Global $ftpOpen, $sFile = "server.log", $sRemote = "/server/minecraft/", $sLocal = @ScriptDir & "\"

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

    ;$sFile = Dateiname (Remote+lokal)
    ;$sRemote = Remote-Verzeichis
    ;$sLocal = Loakes Verzeichnis

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

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ServerLog - Live", 651, 563, 192, 124)
    GUISetFont(9, 800, 0, "Arial")
    GUISetBkColor(0x808080)
    $Label1 = GUICtrlCreateLabel("Server-IP:", 8, 8, 60, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input1 = GUICtrlCreateInput("", 8, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT, $WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Label2 = GUICtrlCreateLabel("Benutzername:", 152, 8, 90, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label3 = GUICtrlCreateLabel("Passwort:", 296, 8, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input2 = GUICtrlCreateInput("", 152, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT, $WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Input3 = GUICtrlCreateInput("", 296, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD, $WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Edit1 = GUICtrlCreateEdit("", 8, 136, 633, 417, $GUI_SS_DEFAULT_EDIT)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    $Button1 = GUICtrlCreateButton("Verbinden", 8, 56, 91, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button2 = GUICtrlCreateButton("Serverlog bereinigen", 184, 56, 147, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Label4 = GUICtrlCreateLabel("Serverlog:", 8, 120, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Button3 = GUICtrlCreateButton("Speichern", 104, 56, 75, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button4 = GUICtrlCreateButton("Aktuallisieren", 336, 56, 99, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    _SaveOpen()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _FTP_Close($ftpOpen)
    Exit
    Case $Button2
    GUICtrlSetData($Edit1, "")
    Case $Button3
    $Read1 = GUICtrlRead($Input1)
    $Read2 = GUICtrlRead($Input2)
    $Read3 = GUICtrlRead($Input3)
    $fOpen01 = FileOpen(@ScriptDir & "\LogIn.dat", 2)
    _LogInSave($Read1, $Read2, $Read3)
    FileClose($fOpen01)
    Case $Button1
    $cRead1 = GUICtrlRead($Input1)
    $cRead2 = GUICtrlRead($Input2)
    $cRead3 = GUICtrlRead($Input3)
    _Connect($cRead1, $cRead2, $cRead3)
    EndSwitch
    WEnd

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

    Func _Connect($cp1, $cp2, $cp3)
    GUICtrlSetData($Edit1, "Verbindung wird aufgebaut." & @CRLF & "Bitte warten...")
    $ftpOpen = _FTP_Open("ServerLog")
    $ftpCon = _FTP_Connect($ftpOpen, $cp1, $cp2, $cp3)
    If $ftpCon = 0 Then
    GUICtrlSetData($Edit1, ">>> Fehler <<<" & @CRLF & "Verbindung konnte nicht hergestellt werden!" & @CRLF & "Fehlercode: " & @error & " / " & $ftpCon)
    Else
    GUICtrlSetData($Edit1, "")
    _Update($ftpCon)
    EndIf
    EndFunc ;==>_Connect

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

    Func _LogInSave($p1, $p2, $p3)
    $EC1 = _StringEncrypt(1, $p1 & "|" & $p2 & "|" & $p3, "fp7igx", 3)
    FileWrite($fOpen01, $EC1)
    EndFunc ;==>_LogInSave

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

    Func _SaveOpen()
    If FileExists(@ScriptDir & "\LogIn.dat") Then
    $fRead01 = FileRead(@ScriptDir & "\LogIn.dat")
    $EC0 = _StringEncrypt(0, $fRead01, "fp7igx", 3)
    $Split = StringSplit($EC0, "|")
    GUICtrlSetData($Input1, $Split[1])
    GUICtrlSetData($Input2, $Split[2])
    GUICtrlSetData($Input3, $Split[3])
    EndIf
    EndFunc ;==>_SaveOpen

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

    Func _Update($ccp1)
    GUICtrlSetData($Edit1, "Daten werden herunter geladen." & @CRLF & "Bitte warten...")
    $ftpGet = _FTP_ProgressDownload($ccp1, $sRemote & $sFile, $sLocal & $sFile)
    If $ftpGet = 0 Then
    GUICtrlSetData($Edit1, "Fehler beim Herrunterladen der Datei!" & @CRLF & "Fehlercode: " & @error & " / " & $ftpGet)
    Else
    $fOpen02 = FileOpen ($sLocal & $sFile, 2)
    $fRead02 = FileRead ($fOpen02)
    GUICtrlSetData ($Edit1, $fRead02)
    EndIf
    EndFunc ;==>_Update

    [/autoit]

    Evtl. findet ja doch noch jemand den Fehler.
    Derzeit bekommt er keine Verbindung. (Hab den Server überlastet xD)
    Aber das Problem muss entweder am Pfad oder am runterladen liegen ...

  • Hallo Commander21,

    für

    [autoit]

    _FTP_ProgressDownload

    [/autoit]

    sind die Pfade definitiv falsch, da sie gerade anders herum als bei

    [autoit]

    _FTP_FileGet

    [/autoit]

    übergeben werden,

    mfg autoBert

  • Da Zeigt er schon andere Werte an, leider nur:

    Zitat

    Fehler beim Herrunterladen der Datei!
    Fehlercode: -1 / 0

    Wobei ich keine Ahnung hab was hier der Fehlercode "-1" zu bedeuten hat, steht in der Hilfe leider nicht dabei.

  • Hallo Commander21,

    du bist nicht zufällig bei bplaced.net? Denn dieses Skript:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #Include <FTPEx.au3>

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

    Global $ftpOpen, $ftpCon, $sFile = "serverlog.log", $sRemote = "/server/minecraft/", $sLocal = @ScriptDir & "\"
    ;eingefügt --------^
    ;$sFile = Dateiname (Remote+lokal)
    ;$sRemote = Remote-Verzeichis
    ;$sLocal = Loakes Verzeichnis

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

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ServerLog - Live", 651, 563, 192, 124)
    GUISetFont(9, 800, 0, "Arial")
    GUISetBkColor(0x808080)
    $Label1 = GUICtrlCreateLabel("Server-IP:", 8, 8, 60, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input1 = GUICtrlCreateInput("", 8, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT, $WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Label2 = GUICtrlCreateLabel("Benutzername:", 152, 8, 90, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label3 = GUICtrlCreateLabel("Passwort:", 296, 8, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Input2 = GUICtrlCreateInput("", 152, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT, $WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Input3 = GUICtrlCreateInput("", 296, 24, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT, $ES_PASSWORD, $WS_BORDER))
    GUICtrlSetColor(-1, 0x000000)
    $Edit1 = GUICtrlCreateEdit("", 8, 136, 633, 417, $GUI_SS_DEFAULT_EDIT)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, 0x000000)
    $Button1 = GUICtrlCreateButton("Verbinden", 8, 56, 91, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button2 = GUICtrlCreateButton("Serverlog bereinigen", 184, 56, 147, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Label4 = GUICtrlCreateLabel("Serverlog:", 8, 120, 62, 15)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Button3 = GUICtrlCreateButton("Speichern", 104, 56, 75, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    $Button4 = GUICtrlCreateButton("Aktuallisieren", 336, 56, 99, 25)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    _SaveOpen()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _FTP_Close($ftpOpen)
    Exit
    Case $Button2
    GUICtrlSetData($Edit1, "")
    Case $Button3
    $Read1 = GUICtrlRead($Input1)
    $Read2 = GUICtrlRead($Input2)
    $Read3 = GUICtrlRead($Input3)
    $fOpen01 = FileOpen(@ScriptDir & "\LogIn.dat", 2)
    _LogInSave($Read1, $Read2, $Read3)
    FileClose($fOpen01)
    Case $Button1
    $cRead1 = GUICtrlRead($Input1)
    $cRead2 = GUICtrlRead($Input2)
    $cRead3 = GUICtrlRead($Input3)
    _Connect($cRead1, $cRead2, $cRead3)
    Case $Button4 ;<== eingefügt
    _Update($ftpCon)
    EndSwitch
    WEnd

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

    Func _Connect($cp1, $cp2, $cp3)
    GUICtrlSetData($Edit1, "Verbindung wird aufgebaut." & @CRLF & "Bitte warten...")
    $ftpOpen = _FTP_Open("ServerLog")
    $ftpCon = _FTP_Connect($ftpOpen, $cp1, $cp2, $cp3,1)
    If $ftpCon = 0 Then
    GUICtrlSetData($Edit1, ">>> Fehler <<<" & @CRLF & "Verbindung konnte nicht hergestellt werden!" & @CRLF & "Fehlercode: " & @error & " / " & $ftpCon)
    Else
    GUICtrlSetData($Edit1, "")
    _Update($ftpCon)
    EndIf
    EndFunc ;==>_Connect

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

    Func _LogInSave($p1, $p2, $p3)
    $EC1 = _StringEncrypt(1, $p1 & "|" & $p2 & "|" & $p3, "fp7igx", 3)
    FileWrite($fOpen01, $EC1)
    EndFunc ;==>_LogInSave

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

    Func _SaveOpen()
    If FileExists(@ScriptDir & "\LogIn.dat") Then
    $fRead01 = FileRead(@ScriptDir & "\LogIn.dat")
    $EC0 = _StringEncrypt(0, $fRead01, "fp7igx", 3)
    $Split = StringSplit($EC0, "|")
    GUICtrlSetData($Input1, $Split[1])
    GUICtrlSetData($Input2, $Split[2])
    GUICtrlSetData($Input3, $Split[3])
    EndIf
    EndFunc ;==>_SaveOpen

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

    Func _Update($ccp1)
    GUICtrlSetData($Edit1, "Daten werden herunter geladen." & @CRLF & "Bitte warten...")
    $ftpGet = _FTP_ProgressDownload($ccp1, $sLocal & $sFile, $sRemote & $sFile)
    ConsoleWrite("Remote: " & $sRemote & $sFile & " Lokal: " & $sLocal & $sFile &@CRLF)
    If $ftpGet = 0 Then
    GUICtrlSetData($Edit1, "Fehler beim Herrunterladen der Datei!" & @CRLF & "Fehlercode: " & @error & " / " & $ftpGet)
    Else
    $fOpen02 = FileOpen ($sLocal & $sFile) ;<= hier war der Feler
    $fRead02 = FileRead ($fOpen02)
    GUICtrlSetData ($Edit1, $fRead02)
    FileClose($fOpen02) ;<== eingefügt
    EndIf
    EndFunc ;==>_Update

    [/autoit]

    zeigt zwar einen Download in der Progressbar an, die Dateigrösse ist nach dem Download aber bei 0 Bytes. Der Fehler war im Schreibmodus mit überschreiben zu öffnen. Diesen Fehler hast du erst nachträglich eingebaut. In deinem Ursprungsskript und in meinem 1.Post war er noch nicht. Es läuft also auf bplaced. Weiterhin habe ich es auf square7.ch und lima-city getestet. Bei allen 3 läuft es im aktiven Modus.

    Die Daten meines Testaccounts schicke ich dir per PN

    guten Rutsch ins neue Jahr

    autoBert

    2 Mal editiert, zuletzt von autoBert (28. Dezember 2011 um 09:00)