Yup that is pretty much what Trevor did. Bob
On May 12, 2012, at 9:10 AM, Peter M. Brigham, MD wrote: > On May 10, 2012, at 5:49 PM, Bob Sneidar wrote: > >> I just forwarded an email Trevor sent to the list some time ago with the >> code in it. >> >> Bob >> >> >> On May 10, 2012, at 2:34 PM, Peter M. Brigham, MD wrote: >> >>> It was apparently part of Trevor's sqlYoga, supposedly made available now >>> as an opensource utility handler, but I can't find it. The Nabble archives >>> show an "altPrintKeys()" function but the output is not a readable display >>> of the structure of an array, it's designed for utility work in massaging >>> arrays. I'd like to get hold of the original printKeys() handler somewhere. >>> Where can I find it? > > In case anyone else wants it, I'm posting below a slightly modified version > of the function, renamed "displayArray" to distinguish it from the variants > that Bob has posted for utility work. This version simply allows you to look > at the contents of an array in outline form, which makes the structure of the > array quite clear on inspection. > > -- Peter > > Peter M. Brigham > pmb...@gmail.com > http://home.comcast.net/~pmbrig > > ------ > > function displayArray @pArray, pFullData, pDimension > -- displays an array as an outline-style list > -- most useful for multidimensional arrays, to see the structure > -- if an element of the array contains more than one line, > -- the first line only will be displayed (less confusing to look at) > -- if you want to see the full data then pass pFullData = true > -- pDimension is an internally used parameter > -- pArray is referenced to avoid duplicating large arrays, but > -- the array is not altered by this function > > -- call it like this: put displayArray(tArray) into fld "peruse" > > -- requires spaces() > > if pDimension is empty then put 0 into pDimension > if pFullData = empty then put false into pFullData > put the keys of pArray into theKeys > if line 1 of theKeys is a number then > sort theKeys numeric > else > sort theKeys > end if > repeat for each line theKey in theKeys > if pArray[theKey] is an array then > put spaces(pDimension * 3) & theKey & cr after theText > put pArray[theKey] into theTempArray > put displayArray(theTempArray, pFullData, pDimension + 1) after > theText > else > if pFullData then > put spaces(pDimension * 3) & theKey & ":" \ > && pArray[theKey] & cr after theText > else > put pArray[theKey] into tElement > if the number of lines of tElement > 1 then > put " ..." into tTrailer > else > put empty into tTrailer > end if > put spaces(pDimension * 3) & theKey & ":" \ > && (line 1 of tElement) & tTrailer & cr after theText > end if > end if > end repeat > return theText > end displayArray > > function spaces n > -- returns a string of n spaces > put "" into s > repeat n > put space after s > end repeat > return s > end spaces > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode