lparameters tcDirectory, tcFileExt, tcFilterExpr local lcFileType, lcIconFile, ; loIconBuddy, lcCondition, llAddFile, ; lcFileName, lnI, lnFiles, ; llIconBuddy, lcDir, lnPos, lnK local array laFiles[1], laExtUsed[1,3] if empty(m.tcDirectory) lcDir = getdir() if empty(m.lcDir) return .f. endif else lcDir = addbs(m.tcDirectory) endif this.caption = this.caption + ' from ' + m.lcDir tcFileExt = evl(m.tcFileExt,"") tcFilterExpr = evl(m.tcFilterExpr,"") lnFiles = adir(laFiles, m.lcDir + "*." + ; evl(m.tcFileExt,"*"),"HS",1) if m.lnFiles = 0 =ErrorMsg("No files found in " + m.tcDirectory) return .f. endif lnK = 0 store .f. to llAddFile, llIconBuddy for lnI = 1 to m.lnFiles if (empty(m.tcFileExt) or ; upper(justext(laFiles[m.lnI,1]))== upper(m.tcFileExt)) ; and not ; inlist(lower(justext(laFiles[m.lnI,1])),"exe","dll","ico") lcFile = m.lcDir + laFiles[m.lnI,1] lcFileName = juststem(m.lcFile) if not empty(m.tcFilterExpr) lcCondition = strtran(m.tcFilterExpr, ; "##FILENAME##","lcFileName") * Evaluate the filter condition if evaluate(m.lcCondition) llAddFile = .t. endif else llAddFile = .t. endif if m.llAddFile if not m.llIconBuddy thisform.newobject("oIconBuddy", ; "IconBuddy", "IconBuddy.vcx") llIconBuddy = .t. endif lnPos = iif(m.lnK = 0, 0, ; ascan(laExtUsed,upper(justext(m.lcFile)),1,-1,1, 14)) if m.lnPos > 0 lcIconFile = laExtUsed[m.lnPos, 2] lcFileType = laExtUsed[m.lnPos, 3] else ** Create bitmaps and not icons thisform.oIconBuddy.CreateTmpIcons(m.lcFile,.f.,.t.) ** Get the small picture lcIconFile = ; thisform.oIconBuddy.GetTMPIconFileName( ; lower(justext(m.lcFile)),.f.,.t.) lcFileType = thisform.oIconBuddy.cFileType lnK = m.lnK + 1 dimension laExtUsed[m.lnK, 3] laExtUsed[m.lnK,1] = upper(justext(m.lcFile)) laExtUsed[m.lnK, 2] = m.lcIconFile laExtUsed[m.lnK, 3] = m.lcFileType endif insert into curFiles values ; (justfname(m.lcFile), laFiles[m.lnI,2], ; m.lcFileType, ; ctot(dtoc(laFiles[m.lnI,3]) + ; " " + laFiles[m.lnI,4]), ; m.lcIconFile, ; alltrim(str(ceiling(laFiles[m.lnI,2]/1024))) + " KB" ) endif llAddFile = .f. endif endfor if reccount('curFiles') = 0 =ErrorMsg("The directory " + m.lcDir + ; " does not contain files") return .f. endif if not dodefault() return .f. endif thisform.uRetVal = "" thisform.grdFiles.colImage.dynamicfontshadow = ; "thisform.grdFiles.colImage.Refresh()"