Jump to content

Problems with Function _Timer_SetTimer one please help


marcsusy
 Share

Recommended Posts

Hi Everyone:

I'm using a script that makes a pc software inventory, but GUICtrlCreateProgress does not work, I want to know I'm doing wrong.

Greetings.

This is the script I use:

#include <Timers.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 264, 312, 75, 25)
$Progress1 = GUICtrlCreateProgress(88, 160, 478, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

 

Global $Form1,$iWait = 100,$direction = 1,$percent = 0
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
      Case $Button1
           _WMI()
   EndSwitch
WEnd

 

Func _WMI()

 

    $iTimerProgress = _Timer_SetTimer($Form1, $iWait, "_UpdateProgressBar")

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:"& "{impersonationLevel=impersonate}!"& $strComputer &    "rootcimv2")
    $colSoftware = $objWMIService.ExecQuery("Select * from Win32_Product")

    Local $Name[1],$Version[1]
   $i = 0
   For $objSoftware in $colSoftware
      $Name[$i] = $objSoftware.Name
      $Version[$i] = $objSoftware.Version
      $i += 1
      Redim $Name[$i+1]
      Redim $Version[$i+1]
   Next

EndFunc

 

Func _UpdateProgressBar($hWnd, $Msg, $iIDTimer, $dwTime)
   #forceref $hWnd, $Msg, $iIDTimer, $dwTime
   $percent += 5 * $direction
   GUICtrlSetData($progress1, $percent)
   IF $percent = 100 Or $percent = 0 Then $direction *= -1
      IF $percent = 100 Then
        GUICtrlSetColor($progress1, 0xff0000)
   ElseIf $percent = 0 Then
      GUICtrlSetColor($progress1, 0x0000ff)
   EndIf
EndFunc

Link to comment
Share on other sites

#include <Timers.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 264, 312, 75, 25)
$Progress1 = GUICtrlCreateProgress(88, 160, 478, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

 

Global $Form1,$iWait = 100,$direction = 1,$percent = 0
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
      Case $Button1
           _WMI()
   EndSwitch
WEnd

 

Func _WMI()

 

    $iTimerProgress = _Timer_SetTimer($Form1, $iWait, _UpdateProgressBar)
;~  _________________________________________________^^^^^^^^^^^^^^^^^^^^^ Here !!!

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:"& "{impersonationLevel=impersonate}!\\"& $strComputer &    "\root\cimv2")
    $colSoftware = $objWMIService.ExecQuery("Select * from Win32_Product")

    Local $Name[1],$Version[1]
   $i = 0
   For $objSoftware in $colSoftware
      $Name[$i] = $objSoftware.Name
      $Version[$i] = $objSoftware.Version
      $i += 1
      Redim $Name[$i+1]
      Redim $Version[$i+1]
   Next

EndFunc

 

Func _UpdateProgressBar($hWnd, $Msg, $iIDTimer, $dwTime)
   #forceref $hWnd, $Msg, $iIDTimer, $dwTime
   $percent += 5 * $direction
   GUICtrlSetData($progress1, $percent)
   IF $percent = 100 Or $percent = 0 Then $direction *= -1
      IF $percent = 100 Then
        GUICtrlSetColor($progress1, 0xff0000)
   ElseIf $percent = 0 Then
      GUICtrlSetColor($progress1, 0x0000ff)
   EndIf
EndFunc

Link to comment
Share on other sites

I'm using version 3.3.0

the error is this

  : ERROR: syntax error
                $ iTimerProgress = _Timer_SetTimer ($ Form1, $ iwait, _UpdateProgressBar)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Link to comment
Share on other sites

I doubt anyone still has v3.3.0.0, maybe v3.3.6.1 at a push. Most are using either v3.3.8.1 or v3.3.10.x and above.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I haven't really analysed your problem. Sorry.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • 2 weeks later...
  • Moderators

marcsusy,

From what I can see the progress bar setting has absolutely nothing to do with the time taken by the WMI call and is merely updated by a simple timer - so the actual setting is meaningless. Why not use the type of progress bar designed for use in these situations: :huh:

#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>

$hGUI = GUICreate("Test", 500, 500)
GUICtrlCreateProgress(10, 10, 400, 20, $PBS_MARQUEE)
GUICtrlSendMsg(-1, $PBM_SETMARQUEE, True, 50) ; final parameter is update time in ms
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
Simplifies the code and lets the user know that something is happening for an indeterminate period. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

I am sorry Melba the progress is stop when I press the botom $Button1,maybe do something wrong

 

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
 
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 264, 312, 75, 25)
$Progress1 = GUICtrlCreateProgress(88, 160, 478, 17, $PBS_MARQUEE)
GUICtrlSendMsg(-1, $PBM_SETMARQUEE, True, 50) ; final parameter is update time in ms
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
 
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
      Case $Button1
           _WMI()
   EndSwitch
WEnd
 
Func _WMI()
$strComputer = "."
    $objWMIService = ObjGet("winmgmts:"& "{impersonationLevel=impersonate}!"& $strComputer &    "rootcimv2")
    $colSoftware = $objWMIService.ExecQuery("Select * from Win32_Product")
    Local $Name[1],$Version[1]
$i = 0
For $objSoftware in $colSoftware
$Name[$i] = $objSoftware.Name
$Version[$i] = $objSoftware.Version
$i += 1
Redim $Name[$i+1]
Redim $Version[$i+1]
Next
EndFunc
 
 
Thanks
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...