Ftp Checker [Anregungen]

  • Hey Community,
    hab vor einiger Zeit mal einen Ftp Checker + Downloader geschrieben...
    Nun hätte ich gerne Ideen zur Weiterentwicklung des Programmes :).
    Also schießt mal los.

    Source

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=globe.ico
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstants.au3>
    #include <Array.au3>

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

    Global $progress2, $name2, $iMsgBoxAnswer, $speicher, $name
    InetGet("http://r1flex.kilu.de/Ini's/your.ini", @TempDir & "\your.ini")
    InetGet("http://r1flex.kilu.de/Ini's/FTP-Checker2.ini", @TempDir & "\FTP-Checker2.ini")
    InetGet("http://r1flex.kilu.de/Ini's/FTP.ini", @TempDir & "\FTP.ini")
    If IniRead(@TempDir & "\FTP-Checker.ini", "Version", "Aktuell", "0") <> IniRead(@TempDir & "\FTP-Checker2.ini", "Version", "Aktuell", "0") Then
    $iMsgBoxAnswer = MsgBox(68, "Version", "Es ist eine neuere Version online!" & @CRLF & "Möchtest du diese jetzt herunterladen?")
    EndIf
    If $iMsgBoxAnswer = 6 Then
    Exit
    InetGet("http://r1flex.kilu.de/Meine Tools/FTP-Checker.exe", @ScriptDir & "\FTP-Checker.exe")
    Else
    EndIf
    InetGet("http://r1flex.kilu.de/Ini's/pfade.ini", @TempDir & "\Pfade.ini")

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

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("r1fLeX's FTP Checker", 415, 225, @DesktopWidth / 2 - 200, @DesktopHeight / 2 - 100)
    GUISetBkColor(0x808080)
    $input1 = GUICtrlCreateInput("", 5, 202, 350, 20)
    $pfad = GUICtrlCreateButton("Pfad", 355, 202, 60, 20)
    $Group1 = GUICtrlCreateGroup("Download", 0, 0, 205, 199)
    $Label1 = GUICtrlCreateLabel("Wähle eine Datei aus!", 42, 18, 109, 17)
    $Button1 = GUICtrlCreateButton("Download", 55, 164, 97, 27, 0)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    $Group2 = GUICtrlCreateGroup("Ort", 208, 0, 205, 199)
    $Label2 = GUICtrlCreateLabel("Wähle den Ort aus!", 266, 18, 96, 17)
    $List2 = GUICtrlCreateList("", 210, 36, 199, 123)
    $List1 = GUICtrlCreateList("", 3, 36, 199, 123)
    $Button2 = GUICtrlCreateButton("Wechseln", 264, 164, 97, 27, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #endregion ### START Koda GUI section ### Form=
    GUICtrlSetData ($input1, IniRead ( @TempDir & "\pfad.ini","Einstellungen","Pfad"," Bitte wählen einen Speicherort --->"))
    Func OnAutoItExit()
    FileDelete(@TempDir & "\FTP-Checker2.ini")
    FileDelete(@TempDir & "\Pfade.ini")
    EndFunc ;==>OnAutoItExit

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

    $var2 = IniReadSection(@TempDir & "\Pfade.ini", "Pfade")
    If Not @error Then
    For $i = 1 To $var2[0][0]
    GUICtrlSetData($List2, $var2[$i][1])
    Next
    Else
    MsgBox(0, "Error", "Eine wichtige Datei konnte nicht eingelesen werden!")
    EndIf

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

    While 1
    If @InetGetActive = 1 Then
    $internet = @InetGetBytesRead
    $rechnung = @InetGetBytesRead / $progress2 * 100
    ToolTip(Round(@InetGetBytesRead / 1024 / 1024, 1) & "MB" & "/" & Round($progress2 / 1024 / 1024, 1) & "MB" & " (" & Round($rechnung, 0) & "%)", @DesktopWidth / 2 - 90, 0, $name)
    Else
    ToolTip("")
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $pfad
    $speicherpfad = FileSelectFolder("Pfad wählen", "::{00020D75-0000-0000-C000-000000000046}")
    GUICtrlSetData($input1, $speicherpfad)
    Case $Button1
    If GUICtrlRead($input1) = "" Then
    MsgBox(48, "Achtung", "Bitte wähle einen Speicherort")
    Else
    IniWrite ( @TempDir & "\pfad.ini","Einstellungen","Pfad",$speicherpfad)
    $name2 = GUICtrlRead($List2)
    $name = GUICtrlRead($List1)
    $progress2 = InetGetSize("http://r1flex.kilu.de/" & $name2 & "/" & $name)
    InetGet("http://r1flex.kilu.de/" & $name2 & "/" & $name, $speicherpfad & "\" & $name, 0, 1)
    EndIf
    Case $Button2
    GUICtrlSetData($List1, "")
    $wechseln = GUICtrlRead($List2)
    InetGet("http://r1flex.kilu.de/Ini's/FTP.ini", @TempDir & "\FTP.ini")
    $iniread = IniReadSection(@TempDir & "\FTP.ini", $wechseln)
    If Not @error Then
    GUICtrlSetState($Button1, $GUI_ENABLE)
    For $i = 1 To $iniread[0][0]
    GUICtrlSetData($List1, $iniread[$i][1])
    If Not @error Then
    GUICtrlSetState($Button1, $GUI_ENABLE)
    For $i = 1 To $iniread[0][0]
    GUICtrlSetData($List1, $iniread[$i][1])
    Next
    Else
    GUICtrlSetState($Button1, $GUI_DISABLE)
    MsgBox(48, "Achtung", "Bitte wähle einen Ort aus!")
    EndIf
    Next
    Else
    GUICtrlSetState($Button1, $GUI_DISABLE)
    MsgBox(48, "Achtung", "Bitte wähle einen Ort aus!")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    2 Mal editiert, zuletzt von r1fLeX (13. Dezember 2008 um 14:10)

    • Offizieller Beitrag

    Mach einen richtigen FTP Checker draus . Jetzt ist es höchstensfalls ein HTTP downloader .

    • Offizieller Beitrag

    Du nennet dein Programm FTP checker aber du checkst gar keinen FTP. Der Download wird über HTTP bewerkstelligt. Das haben dir aber schon en paar andere Leutz in anderen Threads gechrieben .Dazu mußt du dich aber erst mal mit den Protokollen beschäftigen FTP,Http,SFtp,Https . Lies dich mal da ein und du weißt was es für Unterschiede gibt.

  • Naja , klappt doch auch so wozu dann umschreiben?
    Hab mal ein paar Änderungen vorgenommen , siehe Post 1 :).

    • Offizieller Beitrag

    Also mal Konstruktiv:

    Am besten Wechsels du mal beide Dailoge: Erst Ort dann Download . Das wäre sinnigert. Der Download klappt nicht bei alles Dateien . Woran des liegt hab ich nicht getestet. Du könntest auch die Downloadanzeige in deine Gui intigrieren . Jetzt mal ne Frage am Rande , Welches Script ist neuer ? Das in der 1. Post oder das auf deiner Seite . Bei Scriptstart will es nen Update machen .Man kann auch die Dateien mehrfach Downloaden. Eine Abfrage vor dem Überschreiben wäre auch sinnvoll . So jetz hab ich dir genug Stoff geliefert .
    Edit : Die Bezeichnung ORT und wähle einen Ort aus is irgendwie unglücklich . Wie wäre es mit Verzeichnis. Wähle ein Serververzeichnis.

  • Vllt zur Gui:

    Als Maingui:

    Oben ein Menü indem Optionen und Server hinzufügen als Auswahl ist.
    Rechts Oben eine ComboBox indem alle bisher gespeicherten Server aufgelistet sind. Durch Auswählen eines Servers in der Combobox und anschließendem klicken auf "Connect", verbindet den User mit dem Server. Links ein TreeView, der die Ordner auf dem Server anzeigt. Durch klicken auf einen Ordner, wird dessen Inhalt rechts im ListView angezeigt (mit Dateiname, Größe und Typ). Unter dem ListView eine "Download-Fortschritt-Anzeige" (Beipielsweise auf 56% gesetzt). Durch klicken auf Download wird die markierte Datei gedownloadet.

    [Blockierte Grafik: http://www.pic-upload.de/13.12.08/chmp78.JPG]

    Server hinzufügen:

    [Blockierte Grafik: http://www.pic-upload.de/13.12.08/sdpdrb.JPG]

    Du musst es natürlich nicht so machen, kannst ja auch Dinge verändern.. hatte das nur eben mal schnell als Bespiel gemacht ;)

    Mfg
    Jautois

  • Wenn ich dein Beispiel benutzen würde müsste ich aber die UDF ftp.au3 benutzen und die mag ich garnicht :P.