Popular Post Nine Posted April 5, 2022 Popular Post Share Posted April 5, 2022 Many people wanted to see the content of an array inside another array using either _ArrayDisplay or _DebugArrayDisplay. Now it is possible with this UDF. But first I want to give my sincere congratulations to those who have invested long efforts to create ArrayDisplayInternals.au3 (Melba23, jpm, LarsJ, pixelsearch). Most of the code and ingenuity come from those authors. I would say over 90% of the code comes from the original UDF. With this new UDF, you can dig into a tree of arrays inside arrays as deep as you want. There is no limit on the levels of recursion. When you click on an {array} cell, it will bring you a new window (either _ArrayDisplay or _DebugArrayDisplay depending what was called first). Although there is no limit on recursion levels, there is a few limitations that must be mentioned : You need to close all windows before ending the UDF (you can exit script on any level in debug mode) You can only show one array per level at a giving time You cannot manipulate a lower level window untill its child has been closed Example : #include "ArrayDisplayInternalsEX.au3" Local $a = ["a", 2, 3] Local $b = [["x", "y", $a, "z"], [1, $a, 2, 3], [$a, "a", "b", "c"]] Local $c = ["x", "y", 1, $b, "a", 8 ,9 , 10, 11, 12, 13, "abcdef"] _DebugArrayDisplayEX($c, "Test") Enjoy ! ArrayDisplayInternalsEX.au3 Musashi, Gianni, UEZ and 4 others 7 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
pixelsearch Posted April 5, 2022 Share Posted April 5, 2022 (edited) Very interesting for sure, bravo Nine Edited April 5, 2022 by pixelsearch added "very" Link to comment Share on other sites More sharing options...
pixelsearch Posted April 5, 2022 Share Posted April 5, 2022 (edited) @Nine one question : when you scripted the UDF, did you have in mind that getting rid of subclassing WM_NOTIFY could create issues (I guess) in case the user already registered WM_NOTIFY in his own script ? Just curious, as always Edited April 6, 2022 by pixelsearch deleted a pic which was not really useful for this thread Link to comment Share on other sites More sharing options...
Nine Posted April 5, 2022 Author Share Posted April 5, 2022 (edited) 18 hours ago, pixelsearch said: that getting rid of subclassing WM_NOTIFY could create issues The major problem with subclassing is that you absolutely need to unregister the subclass before ending a script (all levels), otherwise the script hangs with a crash. If you have registered WM_NOTIFY with GUIRegisterMsg, you simply need to reexecute the registration after a call to the UDF _ArrayDisplayEX($My_Array) GUIRegisterMsg($WM_NOTIFY, My_WM_NOTIFY) Btw I will implement your solution on null cells in the next release of my UDF... TX Edited April 6, 2022 by Nine “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
pixelsearch Posted June 8 Share Posted June 8 @Nine Hello I knew your script "Recursive _ArrayDisplay" would be useful at times For example, it helps to see what's happening when you send a request to Google for translating a text, then you can display the nested arrays with your script : I added a couple of lines in it, to match the good functionality of the actual _ArrayDisplay function which indicates the number of [rows] and eventually [columns] of the array (when 2D), though I just created a trac ticket 4019 because something seems wrong in ArrayDisplayInternals.au3 Link to comment Share on other sites More sharing options...
Gianni Posted June 8 Share Posted June 8 ... if you prefer to view the contents of nested arrays within the same window rather than opening different windows for each subarray you can also try this other array viewer: https://www.autoitscript.com/forum/topic/182856-array-viewer pixelsearch 1 Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
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