Forum Discussion
I am not used with dictionaries in javascript.
I ve tried something like this:
function testt() { var arrList = getActiveXObject("Scripting.Dictionary"); for (let i = 1; i <= wndConspanAnalysisGrid.wRowCount; i++) { var arrListColumns = getActiveXObject("Scripting.Dictionary"); //Principal keys for (let j = 1; j <= wndConspanAnalysisGrid.wColumnCount; j++) { arrListColumns.Add(GetCellText(0, j), GetCellText(i, j)); } var arrayTest = (new VBArray(arrListColumns.Items())).toArray(); Log.Message("Count " + arrayTest.length);
for (let k = 0 ; k < arrayTest.length; k++) Log.Message(arrayTest[i]);
arrList.Add(GetCellText(i, 0), arrListColumns); } return arrList; }
My new question is how can i print to log.message the whole dictionary to see if its working properly or a function to get the specific element from this dictionary?
I'm not sure you can.... There would have to be some way to convert the dictionary object into a string to write out to the log... and I'm not sure that you can natively do that.
- theultimate6 years agoNew Contributor
It must be, then what's the point of this dictionary?
- tristaanogre6 years agoEsteemed Contributor
The point of any dictionary is to be able to have a means, by using a key, to return a value. So... that's what we have. Debugging and reporting on how the dictionary is constructed is simply a matter of development process.
- theultimate6 years agoNew Contributor
Thanks a lot for your answers.
I solved my problem, i will post my code below, maybe will help someone.
var wndConspanAnalysisGrid = Aliases.LEAPBridgeConcrete.wndConspan.MDIClient.wndMain.pageMain.pageAnalysis.Custom1; function TestCreateDictionary() { var arrList = getActiveXObject("Scripting.Dictionary"); for (let i = 1; i <= wndConspanAnalysisGrid.wRowCount; i++) { var arrListColumns = getActiveXObject("Scripting.Dictionary"); //Sub keys for (let j = 1; j <= wndConspanAnalysisGrid.wColumnCount; j++) { arrListColumns.Add(GetCellText(0, j), GetCellText(i, j)); } //Principal keys arrList.Add(GetCellText(i, 0), arrListColumns); } /*var safeArray = (arrList.Keys().toArray()) for (let i in safeArray) { Log.Message("Key is: " + safeArray[i]); var lineD = arrList.Item(safeArray[i]); var line = lineD.Keys().toArray(); for (let k in line) Log.Message("Key is: " + line[k] + ", value is: " + lineD.Item(line[k])) }*/ var value = SearchValue(arrList, "2", "Location(m)"); Log.Message(value); //return arrList; } function SearchValue(arrList, lineKey, columnKey) { var line = arrList.Item(lineKey); return line.Item(columnKey); } function GetCellText(i, j) { return wndConspanAnalysisGrid.GetItemText(i, j).m_pszData; }
Related Content
- 2 years ago
- 4 years ago
- 8 years ago