Pat Posted February 18, 2010 Posted February 18, 2010 Hello,I need associative arrays like in PHP or Perl. As a solution I found code like the lines below:$hash = ObjCreate("System.Collections.Hashtable") $hash.add ("key1", "val1") $hash.add ("key2", "val2") ; Getting the number of elements in my hash table works $count = $hash.Count ConsoleWrite("count = " & $count & @CRLF) ; Getting the number of elements in my hash table works $keys = $hash.Keys ConsoleWrite("keys = " & _ArrayToString($keys) & @CRLF)In another posting Topic 106907 I found a solution based on ObjCreate("Scripting.Dictionary"). Here you can get all keys using the keys property:Func _DictKeys($oDict) If Not IsObj($oDict) Then Return SetError(1, 0, False) Return $oDict.keys EndFuncDoes anybody know how to do this with .net hashtables? I've tried to use something like$enum = $hash.GetEnumerator() ... loop using $enum.MoveNext()but it does not work. I'm not sure if autoit can use the object of type "System.Collections.IDictionaryEnumerator" which is returned by GetEnumerator.Thanks a lot in advance, Pat
ProgAndy Posted February 18, 2010 Posted February 18, 2010 (edited) using .NET-COM-Objects in AutoIt has some limitations. You found one You should use Scripting.Dictionary instead. Edited February 18, 2010 by ProgAndy *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes
Moderators Melba23 Posted February 18, 2010 Moderators Posted February 18, 2010 Pat,Or you could use Nutster's Associative Array UDF from here.I use it in preference to the Scripting.Dictionary tool as it does not require any pre-installed libraries (although to be honest it must be pretty hard to find a machine without them nowadays ). 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now