- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi FindFiles获取目录下所有文件
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:\','*.*');