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>
#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 ###
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()
EndSwitch
WEnd
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
Func _InfoHersteller()
MsgBox(64, "Info", "© Copyright 2009 by Understood")
EndFunc ;==>_InfoHersteller
Func _Status($s_State)
Sleep(75)
GUICtrlSetData($Input2, $s_State)
EndFunc ;==>_Status
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
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