Listen-Downloader

  • Hallo, ich hatte vor eine Art "Listen-Downloader" zumachen, wo man soviele Download-Links angeben kann wie man will und wenn man dann startet das er alles nach einander downloadet. Leider ist das Problem das ich immer nur ein Link in die Liste packen kann und nicht mehrere. Mein 2tes Problem ist, wie ich es schaffen kann das er alles nach einander runterfährt, also downloadet von oben nach unten in der Liste.

    Hier ist die Source:

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Downloader", 581, 228, 192, 124)
    $Group1 = GUICtrlCreateGroup("", -8, -8, 105, 57)
    $Button1 = GUICtrlCreateButton("Info", 8, 8, 75, 25, $WS_GROUP)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("", 104, -8, 473, 201)
    $List1 = GUICtrlCreateList("", 448, 0, 121, 188)
    $Label1 = GUICtrlCreateLabel("1. Downloadlink angeben", 112, 8, 125, 17)
    GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlSetCursor(-1, 0)
    $Label2 = GUICtrlCreateLabel("2. Zielverzeichnis", 112, 32, 86, 17)
    GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlSetCursor(-1, 0)
    $Input1 = GUICtrlCreateInput(@DesktopDir, 112, 56, 233, 21, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
    $Button2 = GUICtrlCreateButton("Hinzufügen", 112, 88, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button3 = GUICtrlCreateButton("Starten", 368, 160, 75, 25, $WS_GROUP)
    $Label3 = GUICtrlCreateLabel("Fenster verstecken", 112, 168, 95, 17)
    GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlSetCursor(-1, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Input2 = GUICtrlCreateInput("", 8, 200, 569, 21, BitOR($ES_AUTOHSCROLL, $ES_READONLY))
    $Group3 = GUICtrlCreateGroup("", -8, 48, 105, 145)
    $Button4 = GUICtrlCreateButton("Beenden", 8, 64, 75, 25, $WS_GROUP)
    $Button5 = GUICtrlCreateButton("Über", 8, 160, 75, 25, $WS_GROUP)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Global $Count = 0

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Label1
    _Info()
    Global $DL = InputBox("Downloadlink", "Bitte gebe den vollständigen Downloadlink an!", "http://", "", 60, 140)
    If @error Then
    MsgBox(0, "Abgebrochen", "Du hast die Link Eingabe abgebrochen!")
    EndIf
    GUICtrlSetState($Button2, $GUI_ENABLE)
    Case $Label2
    Global $ZV = FileSelectFolder("Bitte wähle das Zielverzeichnis aus!", "")
    If @error Then
    MsgBox(16, "Fehler", "Sie haben kein Verzeichnis ausgewählt!" & @CRLF & "Standartzielverzeichnis: Desktop")
    GUICtrlSetData($Input1, @DesktopDir)
    Else
    GUICtrlSetData($Input1, $ZV)
    EndIf
    Case $Button1
    _Info()
    Case $Label3
    GUISetState(@SW_HIDE)
    Case $Button4
    Exit
    Case $Button5
    _InfoHersteller()
    Case $Button2
    _InTheList()

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

    EndSwitch
    WEnd

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

    Func _Info()
    MsgBox(64, "Info", "Du musst einiges beachten bei der Link Auswahl:" & @CRLF & "Du darfst nicht den Link in der Address Leiste nehmen!" & @CRLF & @CRLF & "Klick auf den Download-Button rechts, geh auf Eigentschaften und da steht die URL" & @CRLF & "die kopierst du und fügst sie dann ein!")
    EndFunc ;==>_Info

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

    Func _InfoHersteller()
    MsgBox(64, "Info", "© Copyright 2009 by Understood")
    EndFunc ;==>_InfoHersteller

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

    Func _Status($s_State)
    Sleep(75)
    GUICtrlSetData($Input2, $s_State)
    EndFunc ;==>_Status

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

    Func _InTheList()
    If $Count = 0 Then
    If _IsURL($DL) Then
    GUICtrlSetData($List1, $DL)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    $Count += 1
    Else
    MsgBox(0, "URL", "Die URL ist wohl falsch geschrieben!")
    Return 0
    EndIf
    Else
    If _IsURL($DL) Then
    $s_More = GUICtrlRead($List1)
    GUICtrlSetData($List1, $s_More & "|" & $DL)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    Return 1
    Else
    MsgBox(0, "URL", "Die URL ist wohl falsch geschrieben!")
    Return 0
    EndIf
    EndIf
    EndFunc ;==>_InTheList

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

    Func _IsURL($s_URL)
    If StringInStr($s_URL, "http") Or StringInStr($s_URL, ".") Or StringInStr($s_URL, "www") Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>_IsURL

    [/autoit]