Jump to content
Sign in to follow this  
RaiNote

Question IE and Progress

Recommended Posts

Hello everyone,

Question 1: How to attach an IE Download to a Progressbar?

Question 2: How to make an IE Download like a streaming Download(download can be paused and continued every time)?

Question 3: How to do it with my UDF like Code :o?

Question 4: How to do add a Label which shows the released time?

Question 5: How to show how long it takes also the Connection Speed?

Question 6: How to get the Connection Speed to a Server?

#include-once
#include <MsgBoxConstants.au3>
; #FUNCTION# ====================================================================================================================
; Name ..........: _Patch
; Description ...: Easy Patch System(unzipping currently not included)
;                  I could need a bit help for this code ^-^.
; Syntax ........: _Patch($DownloadURL, $DownloadPath)
; Parameters ....: $DownloadURL         - URL for the Download.
;                  $DownloadPath        - Where the download file will be installed.
;                  $Title               - Project Name Will be displayed in the MsgBox.
; Return values .: None
; Author ........: RaiNote
; Modified ......: 
; Remarks .......: 
; Related .......: 
; Link ..........: 
; Example .......: No
; ===============================================================================================================================Func _Patch($DownloadURL,$DownloadPath)
Func _Patch($DownloadURL,$DownloadPath,$Title = "Title")
    
$Byte = InetGetSize($DownloadURL,0);Download Size
    
    If $Byte > 1024 Then
        
    $Kilobyte = $Byte / 1024;Converting Byte to Kilobytes
        
        If $Kilobyte > 1024 Then
            
        $Megabyte = $Kilobyte / 1024;Converting Kilobyte to Megabyte
            
            If $Megabyte > 1024 Then
                
            $Gigabyte = $Megabyte / 1024;Converting Megabyte to Gigabyte
            
                If $Gigabyte > 1024 Then
                
                $Terabyte = $Gigabyte / 1024;Converting Gigabyte to Terabyte
                
                    If $Terabyte > 1024 Then
                    
                    $Petabyte = $Terabyte / 1024;Converting Terabyte to Petabyte
                    
                        If $Petabyte > 1024 Then
                            
                            $Exabyte = $Petabyte / 1024;Converting Petabyte to Exabyte
                            $_PATCH_SIZE1 = Round($Exabyte,2) & " EB"
                            
                        ElseIf $Petabyte < 1024 Then
                            
                            $Petabyte = $Terabyte / 1024
                            $_PATCH_SIZE1 = Round($Petabyte,2) & " PB"
                            
                        EndIf
                        
                    ElseIf $Terabyte < 1024 Then
                    
                    $Terabyte = $Gigabyte / 1024
                    $_PATCH_SIZE1 = Round($Terabyte,2) & " TB"
                    
                    EndIf
                
                ElseIf $Gigabyte < 1024 Then
                
                $Gigabyte = $Megabyte / 1024
                $_PATCH_SIZE1 = Round($Gigabyte,2) & " GB"
                
                EndIf
                
            ElseIf $Megabyte < 1024 Then
                
            $Megabyte = $Kilobyte / 1024
            $_PATCH_SIZE1 = Round($Megabyte,2) & " MB"
                
            EndIf
            
        ElseIf $Kilobyte < 1024 Then
            
        $Kilobyte = $Byte / 1024
        $_PATCH_SIZE1 = Round($Kilobyte,2) & " KB"
            
        EndIf
        
    ElseIf $Byte < 1024 Then
    
    $_PATCH_SIZE1 = $Byte & " Bytes"
    
EndIf
    
$_PATCH_INFO = MsgBox(52,$Title,$Title & "needs to be patched. If u want to patch continue" & @CRLF & " if not it will close automaticly.(Size :" & " " & $_PATCH_SIZE1 & ")",0)

switch $_PATCH_INFO

    case 6 ;YES
    
    $_Patch_Download = InetGet($DownloadURL,$DownloadPath,0,0)

    case 7 ;NO
    
    Exit

endswitch
        
EndFunc

RaiNote, not the final answer you're looking for, but you may start by simplifying your math and reducing clutter in the script. Instead of all the If statements (67 lines if I count correctly), you could do something like this (20 lines, not counting comments):

;b = 1
;KB = 1024
;MB = 1,048,576
;GB = 1,073,741,824
;TB = 1,099,511,627,776
;PB = 1,125,899,906,842,624
;EB = 1,152,921,504,606,846,976

$DownloadURL = "https://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe"
$iReturn = InetGetSize($DownloadURL,0);Download Size

    Select
        Case $iReturn > 1152000000000000000 ;Exabyte
            $FileSize = Round($iReturn / (1024 ^ 6), 2) & "EB"
        Case $iReturn > 1125000000000000
            $FileSize = Round($iReturn / (1024 ^ 5), 2) & "PB"
        Case $iReturn > 1099000000000
            $FileSize = Round($iReturn / (1024 ^ 4), 2) & "TB"
        Case $iReturn > 1073000000
            $FileSize = Round($iReturn / (1024 ^ 3), 2) & "GB"
        Case $iReturn > 1048000
            $FileSize = Round($iReturn / (1024 ^ 2), 2) & "MB"
        Case $iReturn > 1024
            $FileSize = Round($iReturn / 1024, 2) & "KB"
        Case Else
            $FileSize = Round($iReturn) & "Bytes"
    EndSelect



ConsoleWrite($FileSize & @CRLF)

 

​Thx for this :o

I hope someone could help me :3 also how is this UDF with the FileSizeSystem :o

P.S.: Also a cat can get shy.

Edited by RaiNote

  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Share this post


Link to post
Share on other sites

RaiNote, not the final answer you're looking for, but you may start by simplifying your math and reducing clutter in the script. Instead of all the If statements (67 lines if I count correctly), you could do something like this (20 lines, not counting comments):

;b = 1
;KB = 1024
;MB = 1,048,576
;GB = 1,073,741,824
;TB = 1,099,511,627,776
;PB = 1,125,899,906,842,624
;EB = 1,152,921,504,606,846,976

$DownloadURL = "https://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe"
$iReturn = InetGetSize($DownloadURL,0);Download Size

    Select
        Case $iReturn > 1152000000000000000 ;Exabyte
            $FileSize = Round($iReturn / (1024 ^ 6), 2) & "EB"
        Case $iReturn > 1125000000000000
            $FileSize = Round($iReturn / (1024 ^ 5), 2) & "PB"
        Case $iReturn > 1099000000000
            $FileSize = Round($iReturn / (1024 ^ 4), 2) & "TB"
        Case $iReturn > 1073000000
            $FileSize = Round($iReturn / (1024 ^ 3), 2) & "GB"
        Case $iReturn > 1048000
            $FileSize = Round($iReturn / (1024 ^ 2), 2) & "MB"
        Case $iReturn > 1024
            $FileSize = Round($iReturn / 1024, 2) & "KB"
        Case Else
            $FileSize = Round($iReturn) & "Bytes"
    EndSelect



ConsoleWrite($FileSize & @CRLF)

 


"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Share this post


Link to post
Share on other sites

Oh Thanks for this ^-^ but why the Script was so big was caused by liking If Statements :o but your code could anyway help but where is the "Download".part file because this is normally the file which got the current data what is downloaded :o I'm searching since hours for this file. Nah whatever Thank you very much. Also that isn't one question.

 

Edited by RaiNote

  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By UEZ
      This project has been discontinued!
       
      Here a small tool I wrote to update my Sysinternal tools collection without the need to download always the whole package or visiting the site to check for updates. I know that there are several tools available (also some tools written in AutoIt) but here another one for the collection. It was good exercise for me to code it.
       
       
        
       
       
      Some files from the live web site cannot be downloaded although they are visible!
       
      Here the download link of the source code only: AutoIt Sysinternal Tools Synchronizer v0.99.6 build 2020-09-23 beta.7z  (1557 downloads previously)
      -=> Requires AutoIt version 3.3.13.20 or higher / tested on Win8.1 real machine and some VMs: Win7 / Vista / Win10
       
      Compiled exe only: @MediaFire
       
      Just select the Sysinternal Tools folder or create one and press the synchronize button to download the selected items. Click on AutoIt label (near to left upper corner) to open menu.
       
      Special thanks to LarsJ, Melba23 and mesale0077 for their help. 
       
      I've still some ideas to implement which are more gimmick related, so it is not finished yet...
      If you want to add your language please check out #Region Language. Thanks. 
       
      Please report any bug or if you have any suggestions.
       
      The language of the tool tip from each of the executable in the left list view were automatically created using Google translator and weren't checked for correctness.
       
      Br,
      UEZ
    • By devilspride
      The following code creates a IE blank window
      Local $oIE = _IECreate()  
      But when i use Navigate to the URL, it open the URL in Microsoft Edge instead if IE.
      _IENavigate($oIE,$url)  
      What should i do to navigate in IE.
      Complete code :
      #include <MsgBoxConstants.au3> #include <WinAPIFiles.au3> #include <IE.au3> #Region TESTING Local $url = 'https://www.youtube.com' Local $oIE = _IECreate() _IENavigate($oIE,$url) #EndRegion Console Output
      IE.au3 T3.0-2 Error from function _IELoadWait, $_IESTATUS_ClientDisconnected (-2147023174, Browser has been deleted prior to operation.)  
      I have searched the forums but did not find such kind of post.
      Other posts were describing How to use Edge using Web driver selenium.
       
      Edit: I am working in Windows10. Recently many changes have been done by Microsoft to IE and Microsoft Edge. (2020)
      Earlier in 2019 this was working fine.
    • By Zaoka
      I'm trying to create script that would login on my SAP WEBI "web page" and replace some uploaded excel files. But i'm having problem on even the log in.
      These are user fill elements with Firefox Inspector
      <input type="text" id="_id0:logon:CMS" name="_id0:logon:CMS"> <input type="text" id="_id0:logon:USERNAME" name="_id0:logon:USERNAME"> <input type="password" id="_id0:logon:PASSWORD" name="_id0:logon:PASSWORD"> LogOnButton
      <input type="submit" id="_id0:logon:logonButton" value="Log On" class="logonButtonNoHover logon_button_no_hover" onmouseover="this.className = 'logonButtonHover logon_button_hover';" onmouseout="this.className = 'logonButtonNoHover logon_button_no_hover';">  
       
      My example, I tried _IEGetObjByName and _IEGetObjById but the script only open page but will not even fill out the form
        #include <IE.au3> Call("signIn") Func signIn() Global $oIE = _IECreate("http://192.xxx.xxx.xx:xxx/BOE/BI") Sleep (5000) Local $server = _IEGetObjByName($oIE, "_id0:logon:CMS") Local $username = _IEGetObjByName($oIE, "_id0:logon:USERNAME") Local $password = _IEGetObjByName($oIE, "_id0:logon:PASSWORD") Local $button = _IEGetObjById($oIE, "_id0:logon:logonButton") _IEFormElementSetValue($server, "TestServer:1000") _IEFormElementSetValue($username, "MyUserName") _IEFormElementSetValue($password, "MyPass") ; THIS PART ABOUT BUTTON CLICK I DONT UNDERSTAND AT ALL $sSelector = "body > div:nth-of-type(2) > div > div:nth-of-type(3) > div > table > tbody > tr > td > table > tbody > tr > td > table > tbody > tr:nth-of-type(1) > td > div > div:nth-of-type(1) > form > div:nth-of-type(5) > button" $signInUC = $oIE.document.QuerySelector($sSelector) _IEAction($signInUC, "click") EndFunc ;==>signIn  
      I would be very grateful for any help
    • By adityaparakh
      Hello ,

      A website I am trying to login with my credentials.
      And retrieve the cookie into a text file.
      Unable to do so.
      Is it that certain,  Httponly , type - are not allowed to be fetched.

      Then further ,
      I will be checking every 5 minutes if my session is active , else re-login and re-fetch the cookie.
      For the second part , I will probably fetch some table and see if not in appropriate format do Part 1 : Fetch Cookie - again.
      Any better way , tips would be appreciated.
       
      Thanks
       
    • By Jamestay97
      Hello! Thanks you for looking at my post
      **No source code I'm sorry work related can't copy information**
      I've been using autoit for about 1 year. 
      I'm having trouble automating a click on an internet explorer web page and I've tried a lot of examples from help pages and forums already. The object I'm trying to click on isnt always in the same spot so I can't use mouse click or control click, I have tried to use the different get collection options and clickbyname, or index or get object. I'm just struggling. 
      Description of object I'm trying to click -- 
      HTML Code looks like <a ng-click.. "Click Here" it appears it's just a click able object named "click here" that opens a hidden window by running a script inside the web page. I'm not able to grab the information from the window unless it's open so I have to automate this click somehow. 
       
      I understand it's difficult to assist without having something to look at, I apologize for that sincerely and appreciate and assistance and suggestions. 
×
×
  • Create New...