Sign in to follow this  
Followers 0
guinness

Associative "array" using Assign, IsDeclared and Eval.

7 posts in this topic

Never really had a need for IsDeclared or such-like, but came up with the following idea below. Anyone else have other ideas for usage?

#include <Constants.au3>

#cs
    Idea for appending $ to the variable name in Assign by Yashied.
    Topic: http://www.autoitscript.com/forum/topic/122192-arraysort-and-eliminate-duplicates/#entry849187
#ce

Example()

Func Example()
    AssocAdd('ExampleString', 'This is a sample string')
    AssocAdd('This is a random string with a number', 100)

    MsgBox($MB_SYSTEMMODAL, '', AssocGet('ExampleString'))
    MsgBox($MB_SYSTEMMODAL, '', AssocGet('This is a random string with a number'))
    MsgBox($MB_SYSTEMMODAL, '', AssocGet('String doesn''t exist'))
EndFunc   ;==>Example

Func AssocAdd($sStringName, $vValue)
    Local Const $iGlobalVar = 2 ; Create in Global scope, as Local scope will be destroyed once returned from the function.
    Return Assign($sStringName & '$', $vValue, $iGlobalVar) = 1 ; Assign the string name with the desired value.
EndFunc   ;==>AssocAdd

Func AssocGet($sStringName)
    If IsDeclared($sStringName & '$') = 0 Then Return SetError(1, 0, '') ; If the string name doesn't exist the return a blank string
    Return Eval($sStringName & '$') ; Return the value of the string name.
EndFunc   ;==>AssocGet

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

I use IsDeclared() when I create a variable in AutoMathEdit script. Much of the language has been rewritten, but it's not ready for release. It's very useful to have IsDeclared() for syntax checking. You can take a look at my to write this, but he code is a bit of a mess. At this stage the simple maths script language has not been fixed, but I have totally turned the error checking routines upsidedown. There are currently about 50 functions, about half of which need documenting. It will be a while before I can get round to this, but I'm nearly there.

Too many life distractions unfortunately. :( I spent more time on the IDE. It's a very basic IDE. :D

Edited by czardas

Share this post


Link to post
Share on other sites

The funny and possibly fragile effect is that you can use at least a large subset of Unicode codepoints in variable's name --including whitespaces--, but you're unable to use those variables names directly then!

AssocAdd('This is a random 㱤㲻㳉㳌㱍 string with a number', 100)
MsgBox($MB_SYSTEMMODAL, '', AssocGet('This is a random 㱤㲻㳉㳌㱍 string with a number'))

OTOH is that behavior defined somewhere or is it working by "chance"?


This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

guinness,

Using assign/eval for checkboxes

#include <GUIConstantsEx.au3>

#AutoIt3Wrapper_Add_Constants=n

local $msg

local $gui010 = guicreate('Checkbox Controls Using Dynamic Variables for the Control ID')

for $1 = 1 to 15
    guictrlcreatelabel('CheckBox #' & stringformat('%02i',$1),10, $1 * 25,90,20)
    assign('checkbox' & $1,GUICtrlCreateCheckbox('',95, $1 * 25,20,15))
Next

guisetstate()

while 1

    $msg = guigetmsg()

    switch $msg
        case $gui_event_close
            Exit
        case eval('checkbox' & 1) to eval('checkbox' & 15)
            for $1 = 1 to 15
                if guictrlread(eval('checkbox' & $1)) = $gui_checked then
                    ConsoleWrite('Checkbox #' & stringformat('%02i',$1) & ' checked' & @LF)
                else
                    ConsoleWrite('Checkbox #' & stringformat('%02i',$1) & ' unchecked' & @LF)
                endif
            next
    EndSwitch

wend

Using eval for filenames and assign/is declared to determine uniqueness

#include <array.au3>

local $fl_name1 = @scriptdir & '\f11.txt'    ; test file #1
local $fl_name2 = @scriptdir & '\f12.txt'    ; test file #2
local $hlf, $ix = 100000                     ; number of lines for test files

; generate two test files (format = 'random uppercase alpha' and '=' and 'random number between 0 and 9' and '0'
; file #1 does not contain any values starting with 'z' therefore resulting string will only have value starting with 'z'

for $i = 1 to 2
    consolewrite(eval('fl_name' & $i) & @lf)
    $hfl = fileopen(eval('fl_name' & $i),2)
    if $hfl = -1 then msgbox(0,'ERROR','Error opening file = ' & eval('fl_name' & $i))
    for $k = 0 to $ix
        if $i = 1 then
            filewrite($hfl,chr(random(65,89,1)) & '=' & chr(random(48,57,1)) & '0' & @CRLF)
        Else
            filewrite($hfl,chr(random(65,90,1)) & '=' & chr(random(48,57,1)) & '0' & @CRLF)
        endif
    Next
    fileclose($hfl)
    $hfl = 0
next

local $st = timerinit()
local $sDiff = _FindUniqueInFile2(fileread($fl_name1),fileread($fl_name2))
consolewrite('time to run func = ' & round(timerdiff($st)/1000,2) & @lf)

$aDiff = stringsplit($sDiff,'|',2)
_arraydisplay($aDiff,ubound($aDiff))

func _FindUniqueInFile2($str1,$str2)

    local $afile1 = stringsplit($str1,@crlf,3)
    local $afile2 = stringsplit($str2,@crlf,3)
    local $out_str

    for $i = 0 to ubound($afile1) - 1
        assign('s' & $afile1[$i],1)
    Next
    for $i = 0 to ubound($afile2) - 1
        if isdeclared('s' & $afile2[$i]) then
        else
            $out_str &= stringleft($afile2[$i],1) & '=' & stringright($afile2[$i],2) & '|'
        endif
    Next
    $out_str = stringtrimright($out_str,1)
    return $out_str

endfunc

Array search using assign/eval (authored by spiff59)

Local $array[14]=  [1, 3, 1, 0, 1, "0","2","2","3", 0, "1", "", "Arf!", "Arf!"]

For $x = 0 to UBound($array) - 1 ; count 'em up
    $y = "__" & $array[$x]
    If IsString($array[$x]) Then $y &= "_s"
    If IsDeclared($y) Then
        Assign($y, Eval($y) + 1)
        $array[$x] = Chr(0)
    Else
      Assign($y, 1)
    EndIf
Next

For $x = 0 to UBound($array) - 1 ; display results
    If $array[$x] == Chr(0) Then ContinueLoop
    If IsString($array[$x]) Then
        $suffix = "_s"
        $desc = "str"
    Else
        $suffix = ""
        $desc = "num"
    EndIf
    ConsoleWrite("Value: " & $array[$x] & " (" & $desc & ")    first found in element: " & $x & "       occurs: " & Eval("__" & $array[$x] & $suffix) & @CRLF)
Next

Generate unique random numbers (yes, I know, enforcing uniqueness mitigates randomness) using assign / is declared to determine uniqueness

;
; generate unique random numbers
;

#include <array.au3> ; used for _arraydisplay

; error table - this is just my preferred method for developement, use switch...case on @error if you prefer

local     $errtbl[6]
        $errtbl[1] = ' Minimum value not numeric'
        $errtbl[2] = ' Maximum value not numeric'
        $errtbl[3] = ' Number of unique values to gen not numeric'
        $errtbl[4] = ' Number of unique random values to generate cannot be greater than the range of available numbers'
        $errtbl[5] = ' Random function failed'

;------------------------------------------------------------------------------------
; example scripts
;------------------------------------------------------------------------------------

; generate 1000 floating point random numbers between .1 and .2 - no debugging info
local $rnum = _GenUniqueNumbers(.1,.2,1000,false)
if @error then
    ConsoleWrite('! ERROR = ' & $errtbl[@error] & @LF)
else
    _arraydisplay($rnum)
endif

; generate 10 integers between -5 and 5 - show timings and accept/reject messages
local $rnum = _GenUniqueNumbers(-5,5,11,-1,'all')
if @error then
    ConsoleWrite('! ERROR = ' & $errtbl[@error] & @LF)
else
    _arraydisplay($rnum)
endif

; generate 10 integers between -9 and 0 - generate range error
local $rnum = _GenUniqueNumbers(-9,0,11)
if @error then
    ConsoleWrite('! ERROR = ' & $errtbl[@error] & @LF)
else
    _arraydisplay($rnum)
endif

; generate 1000 integers between 1 and 3000
local $rnum = _GenUniqueNumbers(1,3000,1000)
if @error then
    ConsoleWrite('! ERROR = ' & $errtbl[@error] & @LF)
else
    _arraydisplay($rnum)
endif

; generate 1001 integers between 0 and 1000 - show timing - this example demonstrates worst possible scenario in terms of overhead
local $rnum = _GenUniqueNumbers(0,1000,1001,default,'time')
if @error then
    ConsoleWrite('! ERROR = ' & $errtbl[@error] & @LF)
else
    _arraydisplay($rnum)
endif

; generate 100000 integers between 1 and 100000 - show timing - just fucking around to see how long it takes
local $rnum = _GenUniqueNumbers(1,100000,100000,default,'time')
if @error then
    ConsoleWrite('! ERROR = ' & $errtbl[@error] & @LF)
else
    _arraydisplay($rnum)
endif

;=========================================================================================================================================================
;
; Description:        : Generate unique random numbers
; Parameter(s):        : $min   - minimum random number
;                    : $max   - maximum random number
;                    : $num   - #of unique values to generate
;                    : $int   - true  = generate integers
;                               false = generate floating point numbers
;                               if this is true then $num cannot be greater than $max-$min (cannot generate more unique values than all possible candidates)
;                    : $debug - 'time' = issue timings to console
;                               'all'  = issue timings and number accept/reject messages to console
; Requirement:        : none
; Return Value(s):    : @error = 1 - minimum value not numeric
;                               2 - maximum value not numeric
;                               3 - number of unique values to gen not numeric
;                               4 - number to generate is greater than the range of available numbers (only set if $int = true)
; User CallTip:        : none
; Author(s):        : kylomas
; Note(s):            :
;
;===========================================================================================================================================================
func _GenUniqueNumbers($min, $max, $num, $int = true, $debug = '')

    if $debug = 'time' or $debug = 'all' then local $st = timerinit()

    if not IsNumber($min)              then return seterror(1)
    if not IsNumber($max)              then return seterror(2)
    if not IsNumber($num)           then return seterror(3)

    if $int= -1 or $int = default then $int = true

    if $int and (($max-$min)+1 < $num)    then return seterror(4)

    local $a1[$num], $tnum

    for $1 = 0 to $num - 1
        $tnum = random($min, $max, $int)
        if $tnum = 0 and @error = 1 then seterror(5)
        while IsDeclared('s' & $tnum)
            if $debug = 'all' then ConsoleWrite('!> rejecting ' & $tnum & @LF)
            $tnum = random($min, $max, $int)
            if $tnum = 0 and @error = 1 then seterror(5)
        wend
        if $debug = 'all' then ConsoleWrite('-> accepting ' & $tnum & @LF)
        assign('s' & $tnum,'')
        $a1[$1] = $tnum
    Next

    if $debug = 'time' or $debug = 'all' then consolewrite('+> Time to gen ' & $num & ' numbers = ' & round(timerdiff($st)/1000,4) & @lf)

    return $a1

endfunc

And of course no list is complete without a card shuffling routine. Again, is declared / assign combo is used to enforce singularity.

#include <array.au3>
#include <string.au3>

local $old_deck, $new_deck = shuffle(), $cnt=0, $tcnt=0

for $1 = 1 to 1000
    local $st = timerinit()
    $new_deck = shuffle()
    for $2 = 0 to ubound($old_deck) - 1
        if $old_deck[$2] = $new_deck[$2] then $cnt += 1
    next
    _DBG_ConOut('Time to shuffle',round(timerdiff($st)/1000,4),50,'.','red')
    _DBG_ConOut('  Cards not moved',$cnt,50,'.','red')
    $old_deck = $new_deck
    $tcnt += $cnt
    $cnt = 0
next

_DBG_ConOut('Total Cards not moved in ' & $1-1 & ' shuffles',$tcnt,50,'.','red')

func shuffle()

    local $deck[52],$card
    $card = random(1,52,1)

    for $1 = 0 to 51

        while isdeclared('s' & $card)
                $card = random(1,52,1)
        WEnd
        assign('s' & $card,'')
        $deck[$1] = $card

    Next

    return $deck

endfunc

; #FUNCTION# ===========================================================================================================
; Name ................:    _DBG_ConOut
; Description .........:    output formatted output to the console
; Syntax ..............:    _DBG_ConOut($String1, $string2='', $Col1_Width=50, $Fill_Char=' ', $Color='Black)
; Parameters ..........:    $String1         - 1ST string to appear in console output
;                             $String2         - 2ND string to appear in console output
;                           $Col1_Width        - 1ST string column width.  This will be left filled with
;                                              $Fill_Char if > than $String1 length
;                            $Fill_Char        - one, or more chars to use to left pad between $String1 and $Sting2
;                            $Color            - Console output color.  Valid colors are black, red, blue, green and yellow
;
; Example..............;    con_out('Time to run',round(timerdiff($st)/1000,3),20,'.','red') output to the console
;                            Time to run..........0.003 (in red)
;
; ======================================================================================================================

func _DBG_ConOut($String1,$String2='',$Col1_Width=50,$Fill_Char=' ',$Color='Black')
    switch stringlower($Color)
        case 'black'
            $Color = ' '
        case 'blue'
            $Color = '>'
        case 'yellow'
            $Color = '-'
        case 'red'
            $Color = '!'
        case 'green'
            $Color = '+'
        case Else
            $Color = ' '
    EndSwitch
    consolewrite($Color & ' ' & $String1 & _stringrepeat($Fill_Char,$Col1_Width - stringlen($String1)) & $String2 & @lf)
endfunc

kylomas

edit: corrected title in checkbox example

Edited by kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites

Thanks kylomas, certainly some interesting ideas there.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

Share this post


Link to post
Share on other sites

guinness, et al,

The idea of an "associative" array surfaces every once and a while. Why not just use the dictionary object? Just curious.

kylomas


Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites

I do, but was just interested in looking at alternative methods.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_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: 04/09/2015

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  
Followers 0