Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Maza Faka

Ветеран


Сообщения: 604
Благодарности: 133

Профиль | Отправить PM | Цитировать


Привет всем, написал скриптик для закачки файла с отображением прогресса закачки, но мне не нравится, как реализована функция ProgressSet, может есть более красивое решение подсчёта и отображения процента закачки файла.
Код: Выделить весь код
$url = "http://game.chirkom.uz/download/hard/cpu-z-123.zip"
$NameArr = StringSplit($url, "/")
$name = $NameArr[$NameArr[0]]
$size = InetGetSize($url)

If $size Then
    $answer = MsgBox(1, "Warning", "The file size = " & $size & " bytes download now?")
    If $answer = 2 Then
        MsgBox(64, "Cancel", "Donloading canceled")
        Exit 1
    ElseIf $answer = 1 Then
        $sGet = FileDownload($url)
        If $sGet = -1 Then
            MsgBox(16, "Error", "DownLoading error")
            Exit 1
        EndIf
        MsgBox(64, "Done", $sGet)
    Else
        Exit
    EndIf
Else
    MsgBox(16, "Error", "File not exist")
EndIf

Func FileDownload($url)
    Local $fileGet = InetGet($url, @TempDir & "\" & $name, 1, 1)
    If Not $fileGet Then Return SetError(1, 0, -1)
        ProgressOn("Please wait...", "Downloading file")
        $dec = $size / 100
        $dSize = $dec
        $percent = 0
        While @InetGetActive
            If @InetGetBytesRead >= $dSize Then
                $dSize += $dec
                $percent += 1
                ProgressSet($percent, $percent & " percent downloading")
            EndIf

                    TrayTip("DownLoading", "Bytes = " & @InetGetBytesRead, 10, 1)
        Sleep(10)
    WEnd
    ProgressSet(100, "Done")
    Sleep(1000)
    ProgressOff()
    Return "Downloading successfull"
EndFunc

Отправлено: 09:33, 21-09-2007 | #454