Donovan6 Posted May 27, 2009 Posted May 27, 2009 Hey Folks, Got a little logic problem. I want to use an array that contains predefined values. It must be used as a filter basically to detect things that are not the same as items in it. Basically its detecting drive letters in the registry entries to system/data/private folders. So in logic, it should contain one entry say Drive letter C. Local $Array[1] $array = 'C' and then it must search Values which will be something like... $Value1 = Regread(blah blah get the data in registry) then.... this is the part i cant really get my head around. If it finds something thats different from "C", it must add that item to the array and use it as a filter to detect (if there are) even more drive letters different now to the new Array entries. So if it finds 3 'C' entries and one "D" it must add the D and continue searching till it gets an "E" or something else. I cant seem to code it, don't know what can basically loop an arrays entries and compare them to external data and add the data if a variation is found. If someone can just outline it for me, i can do the rest.
Donovan6 Posted May 27, 2009 Author Posted May 27, 2009 please note i have the whole thing already coded, i just need the part that can basically loop search an arrays entries and if variatios to it are found, add them and includ ethem in the array and use the new, updated array to search for more. My attempts with do... until fail and i just deleted them.
Moderators Melba23 Posted May 27, 2009 Moderators Posted May 27, 2009 Donovan6,Look at _ArraySearch and _ArrayAdd in the Help file. Sample code:If _ArraySearch($aList, $PossibleNewDriveLetter) = -1 Then _ArrayAdd($aList, $PossibleNewDriveLetter)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
Donovan6 Posted May 27, 2009 Author Posted May 27, 2009 thanks melba, i'm on it. Thanks for the example also!
neema Posted May 27, 2009 Posted May 27, 2009 Donovan6, Look at _ArraySearch and _ArrayAdd in the Help file. Sample code:If _ArraySearch($aList, $PossibleNewDriveLetter) = -1 Then _ArrayAdd($aList, $PossibleNewDriveLetter) M23 This seems to work, but I would caution against manipulating the array that you are searching all in one loop. In C# I would recommend a hashmap, but there is no support for this in AutoIt. The above _ArrayAdd may in fact be the best solution.
Moderators Melba23 Posted May 27, 2009 Moderators Posted May 27, 2009 neema, I am delighted that my proposed solution, and AutoIt's Array UDF, meet with your approval. ;-) 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