sincolinum
03-06-2016, 14:26
В справке к AutoIt есть пример для скачивания файла из интернета
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
; Download a file in the background.
; Wait for the download to complete.
Example()
Func Example()
; Save the downloaded file to the temporary folder.
Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)
; Download the file in the background with the selected option of 'force a reload from the remote site.'
Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)
; Wait for the download to complete by monitoring when the 2nd index value of InetGetInfo returns True.
Do
Sleep(250)
Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)
; Retrieve the number of total bytes received and the filesize.
Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD)
Local $iFileSize = FileGetSize($sFilePath)
; Close the handle returned by InetGet.
InetClose($hDownload)
; Display details about the total number of bytes read and the filesize.
MsgBox($MB_SYSTEMMODAL, "", "The total download size: " & $iBytesSize & @CRLF & _
"The total filesize: " & $iFileSize)
; Delete the file.
FileDelete($sFilePath)
EndFunc ;==>Example
Подскажите пожалуйста, как сделать так, чтобы во время скачивания файла появлялся "ProgressOn" от 0% до 100% или размер файла в цифрах по мере его скачивания
Example()
Func Example()
; Display a progress bar window.
ProgressOn("Progress Meter", "Increments every second", "0%")
; Update the progress value of the progress bar window every second.
For $i = 10 To 100 Step 10
Sleep(1000)
ProgressSet($i, $i & "%")
Next
; Set the "subtext" and "maintext" of the progress bar window.
ProgressSet(100, "Done", "Complete")
Sleep(5000)
; Close the progress window.
ProgressOff()
EndFunc ;==>Example
Как бы это скомбинировать ?
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
; Download a file in the background.
; Wait for the download to complete.
Example()
Func Example()
; Save the downloaded file to the temporary folder.
Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)
; Download the file in the background with the selected option of 'force a reload from the remote site.'
Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", $sFilePath, $INET_FORCERELOAD, $INET_DOWNLOADBACKGROUND)
; Wait for the download to complete by monitoring when the 2nd index value of InetGetInfo returns True.
Do
Sleep(250)
Until InetGetInfo($hDownload, $INET_DOWNLOADCOMPLETE)
; Retrieve the number of total bytes received and the filesize.
Local $iBytesSize = InetGetInfo($hDownload, $INET_DOWNLOADREAD)
Local $iFileSize = FileGetSize($sFilePath)
; Close the handle returned by InetGet.
InetClose($hDownload)
; Display details about the total number of bytes read and the filesize.
MsgBox($MB_SYSTEMMODAL, "", "The total download size: " & $iBytesSize & @CRLF & _
"The total filesize: " & $iFileSize)
; Delete the file.
FileDelete($sFilePath)
EndFunc ;==>Example
Подскажите пожалуйста, как сделать так, чтобы во время скачивания файла появлялся "ProgressOn" от 0% до 100% или размер файла в цифрах по мере его скачивания
Example()
Func Example()
; Display a progress bar window.
ProgressOn("Progress Meter", "Increments every second", "0%")
; Update the progress value of the progress bar window every second.
For $i = 10 To 100 Step 10
Sleep(1000)
ProgressSet($i, $i & "%")
Next
; Set the "subtext" and "maintext" of the progress bar window.
ProgressSet(100, "Done", "Complete")
Sleep(5000)
; Close the progress window.
ProgressOff()
EndFunc ;==>Example
Как бы это скомбинировать ?