DigDeep Posted November 21, 2017 Share Posted November 21, 2017 I have code for getting ProgressBar with InetGetSize and Percentage completed for getting files downloaded from browser. But I need the same when attempting to download the file using FileCopy. Can someone help me in arranging the While section here please? Note: The commands inside While statements will be looking incorrect here... expandcollapse popup#include <GUIConstantsEx.au3> #include <ProgressConstants.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Global $iPlaces #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 1538, 895, 192, 124) $Button1 = GUICtrlCreateButton("Get File", 1056, 512, 75, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 FileDown() ; Download file EndSwitch WEnd Func _Get_Display_Size($iTotalFileDownloaded, Const $iPlaces) ; Get file size Local Static $aSize[4] = ["Bytes", "KB", "MB", "GB"] For $a = 0 To 3 $iTotalFileDownloaded /= 1024 If (Int($iTotalFileDownloaded) = 0) Then Return Round($iTotalFileDownloaded * 1024, $iPlaces) & " " & $aSize[$a] Next EndFunc ;==>_Get_Display_Size Func FileDown() ; Download file Local $Lable1 = GUICtrlCreateLabel("Downloading file...", 274 , 460 , 645 , 55) Local $Progress = GUICtrlCreateProgress(446 , 540 , 300 , 20 , $PBS_SMOOTH) $FileSize = GUICtrlCreateLabel("", 448 , 565 , 200 , 20) $Percent = GUICtrlCreateLabel("", 450 , 590 , 106 , 20) Local $src = @MyDocumentsDir & '\TestFile.exe' Local $dest = 'c:\Temp\TestFile.exe' $FileCopy = FileCopy($src, $dest, 1) $FileCopy_SrcSize = FileGetSize($src) ; =============>>>>>>>>>>> Need help with this section <<<<<<<<<<============== While Not InetGetInfo($FileCopy, 2) ;Loop until download is finished Sleep(100) ;Sleep for half a second to avoid flicker in the progress bar $GetDownBytes = InetGetInfo($FileCopy, 0) ;Get bytes received $GetDownPercent = Int($GetDownBytes / $FileCopy_SrcSize * 100) ;Calculate percentage $Totalsize = $FileCopy_SrcSize - $GetDownBytes GUICtrlSetData($Progress, $GetDownPercent) GUICtrlSetData($FileSize, _Get_Display_Size($Totalsize, $iPlaces = 2) & ' remaining...') GUICtrlSetData($Percent, $GetDownPercent & " % completed") Sleep(100) WEnd ; =============>>>>>>>>>>> Need help with this section <<<<<<<<<<============== EndFunc Link to comment Share on other sites More sharing options...
benched42 Posted November 22, 2017 Share Posted November 22, 2017 For copying or moving files, I've used Yashied's excellent Copy UDF: Yashied's COPY UDF Who lied and told you life would EVER be fair? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now