Kleines Problem mit InetGet in einer If Funktion <- [gelöst] - dload mit funktion [offen]

  • Hi,

    ich arbeite nun schon seit ein paar Wochen mit AutoIt und bis jetzt habe ich eig auch alles gut auf die Reihe bekommen. Nun wollte ich heute mal ein Script erstellen, welches verschiedene Dateien auf Buttonklick ausführen kann... sollte ja eigentlich nicht so schwer sein, downloaden tut er die Datei auch, wenn er sie halt nich auf Buttondruck machen soll, dh also ohne If ... Then

    Hier mal mein Code

    [autoit]


    $d1 = GuiCtrlCreateButton("Download it now", 10, 10, 60, 20)

    If $msg = $d1 Then InetGet("Downloadlink", "Datei speichern als", 1, 1)
    While @InetGetActive
    TrayTip("Downloading", "Bytes = " & @InetGetBytesRead, 10, 16)
    Sleep(250)
    Wend

    [/autoit]

    ich weiß ncih ob ich da noch EndIf hatte... aber wenn ich das nicht auf If setze geht das alles schön und der lädt die gewünschte Datei, sobald ich aber if einsetze nicht mehr...

    denke das jetz viele kommen ios doch leicht oder so... srry -> ich schaff es einfach nicht :(

    danke schonmal für die hilfe,
    liebe grüße
    scheffi

    2 Mal editiert, zuletzt von Scheffi (20. März 2008 um 10:10)

  • Also danke erstmal... nun habe ich ein prob, ich weiß nicht ob es an der inet get ist oder nicht, denke mal aber es ist im zusammenhang damit... habe hier den download in eine funktion gepackt
    mein fehler -> der downloadet die datei... aber NICHT immer.. dh mal will er laden, mal nicht.. als ob er sagt... du warst ion den letzten 5 sek nicht nett... jetz lade ich dir die datei auch nicht runter
    (Gedacht ist es, wie man sich denken kann, als downloader der ein auto it script immer wieder lädt, damit es aktuell bleibt)
    hier einfach mal das ganze script (Gui is halt standard belassen wie ich es immer mache, da ich ersteinmal möchte das es downloaded)

    [autoit]

    #include <GUIconstants.au3>

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

    ; Form
    $url = "http://zandi008.za.funpic.de/CMS_DATEIEN/themes/bluesmile/images/logo.gif"
    $frmMain = GuiCreate("Loader... by Scheffi", 400, 400, 193, 115)
    $pcbDownload = GUICtrlCreateProgress(24, 64, 233, 17)
    $infoLabel = GUICtrlCreateLabel("", 24, 14, 233, 25, $SS_CENTER )
    $cmdButton = GUICtrlCreateButton("Download Now", 74, 34, 133, 25, 0)
    GuiCtrlSetState(-1, $GUI_ENABLE)
    $dues1 = GUICtrlSetData(-1,"Testpicture","duest1")

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

    GuiSetState(@SW_SHOW)

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

    ; Speicherort
    Dim $SaveFile

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

    While 1
    $nMsg = GuiGetMSG()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdButton
    $SaveFile = FileSaveDialog("Datei Download", @ScriptDir, "Bild (*.jpg)", 2, "Test.jpg")
    If GUIGETMSG() = $dues1 Then RunDownload1()

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

    EndSwitch
    WEnd

    Func RunDownload1()
    GuiSetState(@SW_Disable)
    $FileSize = InetGetSize($url)
    InetGet($url,$SaveFile,1,1)
    $curSizie = 0
    Do
    $curFileSize = FileGetSize($SaveFile)
    $curSize = $curFileSize * 100
    $curSize = $curSize / $FileSize
    $curSize = Ceiling($curSize)
    $curFileSize = Round($curFileSize / 1024 / 1024,2)
    GuiCtrlSetData($pcbDownload, $curSize)
    GuiCtrlSetData($infoLabel,$curFileSize & " - " & Round($FileSize / 1024 / 1024,2) & " MB ("& $curSize & "%)")
    Sleep(20)
    ConsoleWrite($curSize & @lf)
    Until $curSize >= 99
    GuiSetState(@SW_Enable)
    GuiCtrlSetData($infoLabel,"Download beendet!")
    GUICtrlSetData($pcbDownload, 0)
    EndFunc

    [/autoit]