Administrators Jon Posted July 15, 2014 Administrators Share Posted July 15, 2014 File Name: AutoIt v3.3.13.4 BetaFile Submitter: JonFile Submitted: 15 Jul 2014File Category: BetaAutoIt: - Fixed: Regression with array initialisation in last beta.Click here to download this file Werty 1 Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 15, 2014 Author Administrators Share Posted July 15, 2014 Also enabled an updated version of the experimental datatype from way back. An idea of the syntax is below Dim $var[] $var["hello1"] = "1111" $var["HELLO1"] = "1111 - CAPS" $var.hello2 = "2222" $var[3] = "3333" $var.Append("4444") MsgBox(0, "", $var["hello1"]) MsgBox(0, "", $var["HELLO1"]) MsgBox(0, "", $var.hello2) MsgBox(0, "", $var[3]) MsgBox(0, "", $var[4]) MsgBox(0, "Exists - hello1", $var.Exists("hello1")) MsgBox(0, "Exists - hello9", $var.Exists("hello9")) For $key In $var.keys() MsgBox(0, "Keys", "Key: " & $key & @CRLF & "Key type: " & VarGetType($key)) Next For $item In $var MsgBox(0, "Items", "Item: " & $item) Next $var.Remove("hello2") For $key In $var.keys() MsgBox(0, "Keys", "Key: " & $key & @CRLF & "Key type: " & VarGetType($key)) Next Experimental, may be removed, yadda yadda yadda. It's like a php map/lua table combo. Keys are string or integer and order is maintained based on the order they are added. String keys are case sensitive (for now). Keys can be enumerated with Keys() in a For In loop. Key type can be checked with VarGetType/IsString. Items can be enumerated with For In loop. Check if a key exists using Exists() Remove items using Remove() Unnamed items can be added using Append(). These are given the largest integer key so far (php influence). Maybe remove Append() and overload the += operator - not sure. Edit: Oh and I had to rewrite half of the COM parser to make this work how I wanted. I may have broken all of COM. JScript, mLipok and saudumm 3 Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 15, 2014 Author Administrators Share Posted July 15, 2014 Hopefully fixed the array initialisation. Reposted experimental datatype above. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
guinness Posted July 15, 2014 Share Posted July 15, 2014 Regression confirmed as fixed. 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 15, 2014 Author Administrators Share Posted July 15, 2014 .Exists($var) is currently broken. Same for Remove($var). As a temporary workaround until the next beta use: .Exists("string") or .Exists($var & "") or .Exists(String($var)) .Exists(integer) or .Exists($var + 0) or .Exists(Int($var)) Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
FaridAgl Posted July 15, 2014 Share Posted July 15, 2014 (edited) Very interesting feature, looking forward to it. Why did you used Dim? I saw it works with both Local and Global as well, is there anything special with Dim that we should know while playing with this? And here is 2 things I would like to report: This will consume 1 CPU core.Dim $var $var["hello1"] = "1111" ;Never reaches here... $var["HELLO1"] = "1111 - CAPS" $var.hello2 = "2222" $var[3] = "3333" $var.Append("4444") MsgBox(0, "", $var["hello1"]) MsgBox(0, "", $var["HELLO1"]) MsgBox(0, "", $var.hello2) MsgBox(0, "", $var[3]) MsgBox(0, "", $var[4]) MsgBox(0, "Exists - hello1", $var.Exists("hello1")) MsgBox(0, "Exists - hello9", $var.Exists("hello9")) For $key In $var.keys() MsgBox(0, "Keys", "Key: " & $key & @CRLF & "Key type: " & VarGetType($key)) Next For $item In $var MsgBox(0, "Items", "Item: " & $item) Next $var.Remove("hello2") For $key In $var.keys() MsgBox(0, "Keys", "Key: " & $key & @CRLF & "Key type: " & VarGetType($key)) Next I was thinking about storing function reference in an item and then call it this way:Global $afuFunctions[] $afuFunctions["Foo"] = Foo Call($afuFunctions["Foo"]) ;Works $afuFunctions["Foo"]() ;Works Call($afuFunctions.Foo) ;Works $afuFunctions.Foo() ;Doesn't work Func Foo() ConsoleWrite("Foo" & @CRLF) EndFunc Edited July 15, 2014 by FaridAgl http://faridaghili.ir Link to comment Share on other sites More sharing options...
Inververs Posted July 15, 2014 Share Posted July 15, 2014 Direct function call will be supported? Func test() ConsoleWrite('OK' & @CRLF) EndFunc Dim $var[] $var.func = test $var.func(); This ;now only work like this: $d = $var.func $d() Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 15, 2014 Author Administrators Share Posted July 15, 2014 Very interesting feature, looking forward to it. Why did you used Dim? I saw it works with both Local and Global as well, is there anything special with Dim that we should know while playing with this? And here is 2 things I would like to report: This will consume 1 CPU core. Dim $var $var["hello1"] = "1111" ;Never reaches here... Oops. Fixed in next beta. I used Dim out of habit. It's an alias for Local essentially. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
FaridAgl Posted July 15, 2014 Share Posted July 15, 2014 Nice to hear that. What about the second part of my post? http://faridaghili.ir Link to comment Share on other sites More sharing options...
jaberwacky Posted July 15, 2014 Share Posted July 15, 2014 The installer has an option to uninstall before continuing but I think it doesn't uninstall it just skips straight to installing. Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum? Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 15, 2014 Author Administrators Share Posted July 15, 2014 The installer has an option to uninstall before continuing but I think it doesn't uninstall it just skips straight to installing. Sure it does. It's very quick. Less than a second usually. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
Administrators Jon Posted July 15, 2014 Author Administrators Share Posted July 15, 2014 Nice to hear that. What about the second part of my post? It doesn't work at the moment. Low priority for the future. Deployment Blog: https://www.autoitconsulting.com/site/blog/ SCCM SDK Programming: https://www.autoitconsulting.com/site/sccm-sdk/ Link to comment Share on other sites More sharing options...
jaberwacky Posted July 15, 2014 Share Posted July 15, 2014 Cooool. Just assumed it would take as long as it does when uninstalling via the normal route. Thanks! Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum? Link to comment Share on other sites More sharing options...
FaridAgl Posted July 15, 2014 Share Posted July 15, 2014 I would like to suggest an IsTable() function. And also a .Count property for the table variables. I'm giving it multiple tests, awesome. http://faridaghili.ir Link to comment Share on other sites More sharing options...
guinness Posted July 15, 2014 Share Posted July 15, 2014 (edited) I would like to suggest an IsTable() function. And also a .Count property for the table variables. I'm giving it multiple tests, awesome. Already done, just Jon hasn't documented it at this stage. #AutoIt3Wrapper_Run_Au3Check=N #AutoIt3Wrapper_UseX64=N #AutoIt3Wrapper_Version=B #include <MsgBoxConstants.au3> Local $tTable[] $tTable["Item One"] = "Some string" $tTable["Item Two"] = "Some string" MsgBox($MB_SYSTEMMODAL, '', "IsTable: " & IsTable($tTable) & @CRLF & "Count: " & UBound($tTable) & @CRLF) Edited July 15, 2014 by guinness 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 15, 2014 Moderators Share Posted July 15, 2014 (edited) FaridAgl,UBound will give you the table count. M23Edit: guinness is too fast again! Edited July 15, 2014 by Melba23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
FaridAgl Posted July 15, 2014 Share Posted July 15, 2014 guinness, Melba23 Thanks, you are right. http://faridaghili.ir Link to comment Share on other sites More sharing options...
guinness Posted July 15, 2014 Share Posted July 15, 2014 Edit: guinness is too fast again! Twice in one day.FaridAgl (or do I use your old username?),Melba23 and myself have been testing this feature quite a bit today for Jon. 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 15, 2014 Moderators Share Posted July 15, 2014 FaridAgl,And please keep testing the feature yourself. New people testing always come up with new ideas which can cause problems - so do not hesitate to let Jon know if you think you have found any. M23 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
FaridAgl Posted July 15, 2014 Share Posted July 15, 2014 guinness, I'm OK with the current username as it's my real name About the .Count which I suggested in above post, thanks to Melba23 I know it's possible with UBound(), but if it's not that hard to implement, having this wouldn't hurt and feels even better. At the moment I can't see any issue, all good so far. http://faridaghili.ir Link to comment Share on other sites More sharing options...
Recommended Posts