本文整理自网络,侵删。
procedure FindFiles(FilesList: TStrings;Subdir : Boolean; StartDir, FileMask: string);var SR: TSearchRec; DirList,DirlistOnly: TStringList; IsFound: Boolean; i,Count: integer;begin If StartDir[length(StartDir)] <> '\' then StartDir := StartDir + '\'; IsFound := FindFirst(StartDir+FileMask, faAnyFile-faDirectory, SR) = 0; while IsFound do begin Begin FilesList.Add(StartDir + SR.Name); Count:= Count + Sr.Size; end; IsFound := FindNext(SR) = 0; end; FindClose(SR);
// Build a list of subdirectories DirList := TStringList.Create; IsFound := FindFirst(StartDir+'*.*', faAnyFile , SR) = 0; while IsFound do begin if ((SR.Attr and faDirectory)<> 0) and (SR.Name <> '.') and (subdir = true) and (sr.name <> '..') then Begin DirList.Add(StartDir + SR.Name); end; IsFound := FindNext(SR) = 0; end; FindClose(SR);
// Scan the list of subdirectories www.delphitop.com for I := 0 to DirList.Count - 1 do Begin FindFiles(FilesList, SubDir,DirList[i], FileMask); end; DirList.Free;end;
调用:FindFiles(Memo1.Lines,false,'c:\','*.*');
相关阅读 >>
更多相关阅读请进入《Delphi》频道 >>