progress

  • ich möchte anzeigen wie viel gedownloadet wurde.

    dass gedownloadete = $data
    die bytes der zu downloadenden Datei = 14817637171.2

    warum zeig er mir gleich hundert an


    [autoit]


    $data=FileGetSize( "C:\Dokumente und Einstellungen\Markus\Eigene Dateien\Downloads\Test" )
    GUICreate(" Fortschritt",350,100,100,200)
    $progressbar1 = GUICtrlCreateProgress(25, 25, 300, 20)
    For $i = $data To 14817637171.2
    GUICtrlSetData($progressbar1, $i) ;den progress laufen lassen
    GUISetState()
    next

    [/autoit]
  • Die Hilfedatei ist dein Freund ;) Das findet man unter InetGet:

    Spoiler anzeigen
    [autoit]

    InetGet("http://www.mozilla.org", "C:\foo.html")
    InetGet("http://www.autoitscript.com", "C:\mydownload.htm", 1)
    InetGet("ftp://ftp.mozilla.org/pub/mozilla.org/README", "README.txt", 1)

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

    ; Advanced example - downloading in the background
    InetGet("http://www.nowhere.com/somelargefile.exe", "test.exe", 1, 1)

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

    While @InetGetActive
    TrayTip("Downloading", "Bytes = " & @InetGetBytesRead, 10, 16)
    Sleep(250)
    Wend

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

    MsgBox(0, "Bytes read", @InetGetBytesRead)

    [/autoit]

    Du musst das mit @InetGetBytesRead machen... bei dir wird nicht bestimmt wieviel gedownloaded wird sondern die Schleife läuft einfach durch...

    Das heißt so sollte es gehen:

    [autoit]

    $data=InetGet( "http://www.nowhere.com/somelargefile.exe", "test.exe", 1, 1); Du musst InetGet benutzen... FilegetSize bestimmt nur die Größe einer Datei
    GUICreate(" Fortschritt",350,100,100,200)
    $progressbar1 = GUICtrlCreateProgress(25, 25, 300, 20)
    For $i = $data To 14817637171.2
    GUICtrlSetData($progressbar1, INT(@InetGetBytesRead/ 14817637171.2 * 100) ;den progress laufen lassen
    GUISetState()
    next

    [/autoit]

    3 Mal editiert, zuletzt von ChaosKeks (5. April 2009 um 23:17)

  • Hallo Bandito1,

    versuchs mal damit:

    Spoiler anzeigen
    [autoit]


    #include <INet.au3>

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

    $size = InetGetSize("http://www.autoit.de/index.php?page=Attachment&attachmentID=4318&h=973977700e03f30dc8cec3b5bd14090956c5f876")
    $data=InetGet("http://www.autoit.de/index.php?page=Attachment&attachmentID=4318&h=973977700e03f30dc8cec3b5bd14090956c5f876", "C:\mydownload.zip", 1,1)
    GUICreate(" Fortschritt",350,100,100,200)
    $progressbar1 = GUICtrlCreateProgress(25, 25, 300, 20)

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

    While @InetGetActive
    GUICtrlSetData($progressbar1, INT(@InetGetBytesRead/$size * 100))
    GUISetState()
    WEnd

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

    Den Download den ich eingetragen habe ist aus Tutorial-Engine - mein Beitrag zur Hilfe von MatthiasG (irgendwas muss ich ja zum Test downloaden).

    mfg (Auto)Bert

  • Hallo @ChaosKeks,

    klappt bei mir wunderbar der Link stimmt, hast du es schon einmal mit einem anderen Link probiert?

    EDIT1: Wenn erfolgreich downgeloaded befindet sich auf C:\ die Datei MyDownload.zip

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (6. April 2009 um 00:46)