function fn_Get_FileList(APath:String; AFullPath:Boolean=False; ASearchSubPath:Boolean=False):TStringList;
var SearchRec: TSearchRec;
Status: Integer;
sFileList:TStringList;
sPath:String;
begin
sPath := '';
if AFullPath then
sPath := APath+'\';
sFileList := TStringList.Create;
Status := FindFirst(APath+'\*.*', faAnyFile, SearchRec);
try
while Status = 0 do
begin
if ((SearchRec.Attr and faHidden)<>faHidden) and //非隱藏檔
((SearchRec.Attr and faSysFile)<>faSysFile) and //非系統檔
(SearchRec.Name <> '.') and
(SearchRec.Name <> '..') then
begin
if ((SearchRec.Attr and faDirectory) = faDirectory) then //目錄
begin
if ASearchSubPath then
sFileList.AddStrings(fn_Get_FileList(APath+'\'+SearchRec.Name, AFullPath, ASearchSubPath))
end
else
sFileList.Add(sPath+SearchRec.Name);
end;
Status := FindNext(SearchRec);
end;
Finally
FindClose(SearchRec);
end;
Result := sFileList;
end;
沒有留言:
張貼留言