Inetget, auslesen, wie schnell autoit runterlädt

  • Suchste das?:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Global $averagearr[1], $buffer = 0

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

    $speedaktual = 2
    ; $speedaktual = 1

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

    $url = "http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe"

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

    Global $iFileSize = InetGetSize($url)
    InetGet($url, @DesktopDir & "\autoit-v3-setup.exe", 1, 1)

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

    ProgressOn('Test', '')

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

    $time = TimerInit()
    While @InetGetActive
    $iLastKbits = @InetGetBytesRead / 1024
    Sleep($speedaktual * 100)
    $iNewKbits = @InetGetBytesRead / 1024
    $speed = ($iNewKbits - $iLastKbits) / ($speedaktual / 10)

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

    $iPercent = Round(@InetGetBytesRead / $iFileSize * 100)
    ProgressSet($iPercent, " Noch " & _average($speed) & " sec ; " & ' ' & $speed & ' Kb/s')
    WEnd

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

    ProgressOff()

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

    Func _average($a)
    If $a <> 0 Then
    _ArrayAdd($averagearr, $a)
    For $i = 1 To UBound($averagearr) - 1
    $buffer += $averagearr[$i]
    Next
    $buffer /= UBound($averagearr) - 1
    $buffer2 = $buffer
    $buffer = 0
    Return Round((($iFileSize - @InetGetBytesRead) / 1024) / $buffer2)
    EndIf
    EndFunc ;==>_average

    [/autoit]