function gettree Lparameters tcPath Local lcTopDir Start=seconds() lcTopDir = sys(5)+curdir() Set defa to (tcPath) Dimension aDirList[1,2] aDirList[1,1] = tcPath aDirList[1,2] = "D" =getsubdirs(lcCurdir) Set default to (lcTopDir) ? seconds()-start Create cursor crsDirs ; (dirname c(127),attr c(5)) lcCurdir = sys(5)+curdir() Appe from array aDirList Browse Function getsubdirs Lparameters tcPath Local lcCurdir, lnSubDirs, ix Local array laDirs[1] lnSubDirs=adir(laDirs,tcPath+"*.*","HD") For ix = 1 to lnSubDirs If laDirs[ix,1]#"." and "D"$laDirs[ix,5] Dimension aDirList[alen(aDirList,1)+1,2] aDirList[alen(aDirList,1),1] = tcPath+laDirs[ix,1] aDirList[alen(aDirList,1),2] = tcPath+laDirs[ix,5] =getsubdirs(tcPath+laDirs[ix,1]+"\") Endif EndforCetin