Kleiner Donwloader

  • Hallo ihr lieben.

    Ich habe mir heute den Nachmittag damit vertrieben einen kleinen Donwload zu basteln.

    Ich würde mich sehr über Feedback freuen, aber hier ersteinmal der SourceCode:

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Dler.ico
    #AutoIt3Wrapper_Res_Comment=The Coderz Downloader
    #AutoIt3Wrapper_Res_Description=Downloads a given Link.
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=The-Coderz
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_File_Add=C:\Dokumente und Einstellungen\xxx\Eigene Dateien\Coderz\Downloader\Coderz DL.jpg
    #Obfuscator_Parameters=/striponly
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    $DlSpeed = ""

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

    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\xxx\eigene dateien\coderz\downloader\form1.kxf
    $Gui1 = GUICreate("C0derz Downloader", 400, 202, 286, 235, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
    GUISetBkColor(0xFFFFFF)
    $Pic1 = GUICtrlCreatePic("coderzdl.jpg", 0, 0, 400, 60, BitOR($SS_NOTIFY, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS), $GUI_WS_EX_PARENTDRAG)
    $Input1 = GUICtrlCreateInput("Url der Datei", 10, 72, 380, 21)
    $Pic2 = GUICtrlCreatePic("button1.jpg", 10, 160, 123, 30, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic("button1.jpg", 138, 160, 123, 30, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Pic4 = GUICtrlCreatePic("button1.jpg", 267, 160, 123, 30, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel("Warten auf Download", 10, 128, 380, 17, $SS_CENTER)
    $Progress1 = GUICtrlCreateProgress(10, 104, 380, 17)
    $LabelPos1 = ControlGetPos($Gui1, "", $Pic2)
    $LabelPos2 = ControlGetPos($Gui1, "", $Pic3)
    $LabelPos3 = ControlGetPos($Gui1, "", $Pic4)
    $ButtonLabel1 = GUICtrlCreateLabel("Download", $LabelPos1[0] + 6, $LabelPos1[1] + 8, 111, 17, $SS_CENTER)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonLabel2 = GUICtrlCreateLabel("Über", $LabelPos2[0] + 6, $LabelPos2[1] + 8, 111, 17, $SS_CENTER)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ButtonLabel3 = GUICtrlCreateLabel("Beenden", $LabelPos3[0] + 6, $LabelPos3[1] + 8, 111, 17, $SS_CENTER)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Pic2
    GUICtrlSetData($Label1, "Vorbereiten...")
    GUICtrlSetImage($Pic2,"button2.jpg")
    Do
    Sleep(1)
    Until Not _IsPressed(01)
    GUICtrlSetImage($Pic2,"button1.jpg")
    $DlUrl = GUICtrlRead($Input1)
    If StringInStr($DlUrl, "http") = 0 And StringInStr($DlUrl, "www") = 0 Then
    GUICtrlSetData($Label1, "Ungültiger Link")
    Else
    $DlSize = InetGetSize($DlUrl)
    $DlSizeProg = $DlSize / 100
    $DlSizeMb = $DlSize / 1048576
    $DlNameSplit = StringSplit($DlUrl, "/")
    $DlError = @error
    $DlName = $DlNameSplit[$DlNameSplit[0]]
    $DlExte = StringRegExp($DlName, ".*(\..*)", 1)
    If $DlExte = "" Then
    If StringLen($DlName) >= 14 Then
    $DlNameShort = StringTrimRight($DlName, StringLen($DlName) - 9) & "*"
    Else
    $DlNameShort = $DlName
    EndIf
    Else
    If StringLen($DlName) >= 14 Then
    $DlNameShort = StringTrimRight($DlName, StringLen($DlName) - 9) & "*" & $DlExte[0]
    Else
    $DlNameShort = $DlName
    EndIf
    EndIf
    If $DlError = 1 Then
    _Download($DlName & ".html")
    Else
    _Download($DlName)
    EndIf
    EndIf
    Case $Pic3
    GUICtrlSetImage($Pic3,"button2.jpg")
    Do
    Sleep(1)
    Until Not _IsPressed(01)
    GUICtrlSetImage($Pic3, "button1.jpg")
    _about()
    Case $Pic4
    GUICtrlSetImage($Pic4, "button2.jpg")
    Do
    Sleep(1)
    Until Not _IsPressed(01)
    GUICtrlSetImage($Pic4, @TempDir & "\button1.jpg")
    Exit
    EndSwitch
    WEnd

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

    Func _Download($DlName)
    $DlDownl = InetGet($DlUrl, @DesktopDir & "\" & $DlName, 0, 1)
    If @error Then
    GUICtrlSetData($Label1, "Es ist ein Fehler aufgetreten.")
    Else
    $DlTimer = TimerInit()
    While @InetGetActive
    $LoFileSize = @InetGetBytesRead
    GUICtrlSetData($Label1, $DlNameShort & " " & Round($LoFileSize / 1048576, 2) & "MB/" & Round($DlSizeMb, 2) & "MB mit " & Round($DlSpeed, 0) & " KByte/s")
    GUICtrlSetData($Progress1, $LoFileSize / $DlSizeProg)
    Sleep(1000)
    $DlSpeed = (@InetGetBytesRead - $LoFileSize) / 1024
    WEnd
    GUICtrlSetData($Label1, "Download Abgeschlossen! Zeit: " & Round(TimerDiff($DlTimer) / 60000, 2))
    If $DlDownl = 0 Or $DlError = 1 Then
    GUICtrlSetData($Label1, "Es ist ein Fehler aufgetreten.")
    EndIf
    EndIf
    EndFunc ;==>_Download

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

    Func _about()
    $Form1 = GUICreate("Form1", 224, 283, 216, 142, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
    GUISetBkColor(0xFFFFFF)
    $Label1a = GUICtrlCreateLabel("The C0derz Downloader 1.0 01. Jan (2009)", 8, 8, 208, 17)
    $Label2 = GUICtrlCreateLabel("Der Donwloader darf ausschließlich von:", 8, 32, 195, 17)
    $Label3 = GUICtrlCreateLabel("***", 48, 56, 127, 17)
    GUICtrlSetColor(-1, 0x0000FF)
    $Label4 = GUICtrlCreateLabel("heruntergeladen werden.", 48, 80, 122, 17)
    $Label5 = GUICtrlCreateLabel("Er darf nicht kommerziell vertrieben werden", 8, 104, 206, 17)
    $Label6 = GUICtrlCreateLabel("Bugs bitte auf ", 8, 128, 72, 17)
    $Label7 = GUICtrlCreateLabel("melden", 72, 152, 38, 17)
    $Label8 = GUICtrlCreateLabel("***", 48, 176, 105, 17)
    $Button1a = GUICtrlCreateButton("Schließen", 64, 208, 75, 25, 0)
    $Label9 = GUICtrlCreateLabel("***", 32, 256, 127, 17)
    GUICtrlSetColor(-1, 0x0000FF)
    $Label10 = GUICtrlCreateLabel("***", 80, 128, 127, 17)
    GUICtrlSetColor(-1, 0x0000FF)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1a
    GUISetState(@SW_HIDE, $Form1)
    ExitLoop
    Case $Label3
    Case $Label9
    Case $Label10
    EndSwitch
    WEnd
    EndFunc ;==>_about

    [/autoit]

    Da steht zwar "by coderz" aber ich habe ihn schon noch alleine gemacht.

    Ich hoffe ich habe jetzt keine Fehler gemacht (Original Version installiert er die Bilchen in den Temp dir und löscht sie später).

    Vllt kann ihn jemand auch noch weiter verwenden :)

    Screenshot:

    Spoiler anzeigen


    Die Bilder habe ich herangehängt!

    Lg,

    Lenny

    Jaja, Moo does the Cow!