Jump to content

Search the Community

Showing results for tags 'optional parameter'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • Forum FAQ
  • AutoIt

Calendars

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Location


WWW


Interests

Found 1 result

  1. Hello! I'm a newbie in AutoIt and want to wrap some internal autoit functions like RegWrite() in way function will display MsgBox with of error happens. I want to wrap because write error handler becomes really annoying when it comes to code, and I have to write the same code after every RegWrite() call and this becomes really ugly. So I just want this: Local $s_key = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control' Local $s_value_name = 'value1' Local $s_value_type = 'REG_SZ' Local $value_data = 'data1' RegWrite( $s_key , $s_value_name , $s_value_type, $value_data ) If @error Then MsgBox( $MB_ICONERROR , 'ERROR' , 'Error writing registry:' & @CRLF & 'Key: ' & $s_key & @CRLF & 'Value: ' & $s_value_name & @CRLF & 'Type: ' & $s_value_type & @CRLF & 'Data: ' & $value_data & @CRLF & 'ErrorCode: ' & @error ) EndIf Local $s_key = 'HKEY_CURRENT_USER\Software\MyApp' RegWrite( $s_key ) If @error Then MsgBox( $MB_ICONERROR , 'ERROR' , 'Error writing registry:' & @CRLF & 'Key: ' & $s_key & 'ErrorCode: ' & @error ) EndIf Becomes into this: RegistryWrite( 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control' , 'value1' , 'REG_SZ' , 'data1' ) RegistryWrite( 'HKEY_CURRENT_USER\Software\MyApp' ) Func RegistryWrite( $s_key , $s_value_name = NULL , $s_value_type = NULL , $value_data = NULL ) RegWrite( $s_key , $s_value_name , $s_value_type, $value_data ) If @error Then MsgBox( $MB_ICONERROR , 'ERROR' , 'Error writing registry:' & @CRLF & 'Key: ' & $s_key & @CRLF & 'Value: ' & $s_value_name & @CRLF & 'Type: ' & $s_value_type & @CRLF & 'Data: ' & $value_data & @CRLF & 'ErrorCode: ' & @error ) EndIf EndFunc And I'm just confused how to properly pass the optional parameters to target function as documentation says that NULL can be evaluated as 0 in mathematical expressions. Maybe "Default" or something else is more suitable? I undersand that I can write separate wrappers for each number of arguments or handle each optional argument value and call target function with exact arguments number, but the goal is to keep code as clean and as simple as possible. So i have two questions: 1. What is the _proper_ and maybe universal way to pass optional parameters to wrapped functions? 2. Can I achive the same result without wrapping every function? Maybe some AutoIt execution flags to always popup a error that happens and stop execution?
×
×
  • Create New...