Recursively List Data Folder Contents
// ListDataFolder(dfr, level)
// Recursively lists objects in data folder.
// Pass data folder path for dfr and 0 for level.
// Example: ListDataFolder(root:, 0)
Function ListDataFolder(dfr, level)
DFREF dfr
Variable level // Pass 0 to start
String name
if (level == 0)
name = GetDataFolder(1, dfr)
Printf "%s\r", name
endif
Variable i
String indentStr = "\t"
for(i=0; i<level; i+=1)
indentStr += "\t"
endfor
Variable numWaves = CountObjectsDFR(dfr, 1)
for(i=0; i<numWaves; i+=1)
name = GetIndexedObjNameDFR(dfr, 1, i)
Printf "%s%s (wave)\r", indentStr, name
endfor
Variable numNumericVariables = CountObjectsDFR(dfr, 2)
for(i=0; i<numNumericVariables; i+=1)
name = GetIndexedObjNameDFR(dfr, 2, i)
Printf "%s%s (numeric variable)\r", indentStr, name
endfor
Variable numStringVariables = CountObjectsDFR(dfr, 3)
for(i=0; i<numStringVariables; i+=1)
name = GetIndexedObjNameDFR(dfr, 3, i)
Printf "%s%s (string variable)\r", indentStr, name
endfor
Variable numDataFolders = CountObjectsDFR(dfr, 4)
for(i=0; i<numDataFolders; i+=1)
name = GetIndexedObjNameDFR(dfr, 4, i)
Printf "%s%s (data folder)\r", indentStr, name
DFREF childDFR = dfr:$(name)
ListDataFolder(childDFR, level+1)
endfor
End
Forum
Support
Gallery
Igor Pro 10
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More
July 17, 2011 at 05:19 pm - Permalink