Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
GetQmItemNames fetches content from system folder
#6
Function GetQmItemsInFolder
Code:
Copy      Help
;/
function $folder ARRAY(int)&a [ARRAY(int)&aLevel]

;Gets QM items in a QM folder and subfolders.

;folder - folder name or path ("\folder1\folder2"). Use "" to include all macros.
;a - variable that receives item ids. Use <help>qmitem</help> or <help>str.getmacro</help> to get item properties.
;aLevel - optional array that receives item levels relative to folder.


a=0
type __GQIF_DATA ARRAY(int)*a ARRAY(int)*aLevel htv
__GQIF_DATA d
d.a=&a
d.aLevel=&aLevel
d.htv=id(2202 _hwndqm)

EnumQmFolder folder 0 &GQIF_Enum &d

Function GQIF_Enum
Code:
Copy      Help
;/
function# iid QMITEM&q level __GQIF_DATA&d

;skip some folders
if q.itype=5
,sel(q.name) case ["private","System"] ret 1
,;if(!SendMessage(d.htv TVM_GETNEXTITEM TVGN_CHILD q.htvi)) ret 1 ;;skip empty folders

ARRAY(int)& a=d.a
a[]=iid
if d.aLevel
,&a=d.aLevel
,a[]=level

example
Macro Macro2233
Code:
Copy      Help
out
str process_pth="\RR_QM_enhancements\__ACTIVE__\QM_popupmenu"
ARRAY(int) a
GetQmItemsInFolder(process_pth a)
int i; str fullpath
for i 0 a.len
,;out _s.getmacro(a[i] 1)
,GetQmItemPath a[i] fullpath
,out fullpath


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)