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

Название темы: InetGet и ProgressOn
Показать сообщение отдельно

Ветеран


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

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


Ну, например:
Скрытый текст
Код: Выделить весь код
#include <InetConstants.au3>

Example()

Func Example()
	Local $sUrl       = "https://download.sysinternals.com/files/ProcessExplorer.zip"
	Local $sFilePath  = @ScriptDir & "\ProcessExplorer.zip"

	Local $lTotalSize = InetGetSize($sUrl, $INET_FORCERELOAD)
	Local $dCurrentPercent

	Local $hDownload  = InetGet($sUrl, $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)


	ProgressOn($sUrl, "Download progress", "0%")

	Do
		Sleep(250)
		$dCurrentPercent = InetGetInfo($hDownload, $INET_DOWNLOADREAD) / $lTotalSize * 100
		ProgressSet($dCurrentPercent, StringFormat("%.2f", $dCurrentPercent) & "%")
	Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)

	Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD)
	Local $iFileSize  = FileGetSize($sFilePath)

	InetClose($hDownload)

	ProgressSet(100, "The total download size: " & $iBytesSize & @CRLF & "The total filesize: " & $iFileSize, "Complete")
	Sleep(3000)
	ProgressOff()
EndFunc

В реальности пользоваться приведёнными Вами примерами нельзя — надо ещё проверять возможные ошибки.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:36, 03-06-2016 | #2

Название темы: InetGet и ProgressOn