1. 程式人生 > >DELPHI如何獲取某目錄下的所有文件名?

DELPHI如何獲取某目錄下的所有文件名?

The ddp nbsp rep name bsp dcl procedure direct

//=====================================================================
// 函數名稱: FindPathFiles
// 功能描述: 找指定目錄下的文件
// 參 數: APath : 路徑名稱
// APropty : 屬性名稱(*.* | *.txt)
// AFiles : 文件列表
// IsAddPath: 是否增加路徑
// 作者:
// 時間:
// 返 回 值:
// 說 明:
//=====================================================================
procedure FindPathFiles(const APath: string; AFiles: TStrings;
const APropty: String = ‘*.*‘; IsAddPath: Boolean = False);
var
FS: TSearchRec;
FPath: String;
AddPath: string;
begin
FPath := IncludeTrailingPathDelimiter(APath);
AddPath := IfThen(IsAddPath, FPath, ‘‘);
if FindFirst(FPath + APropty, faAnyFile, FS) = 0 then
begin
repeat
if //(FS.Name <> ‘.‘) and (FS.Name <> ‘..‘) and
((FS.Attr and faDirectory) <> faDirectory) then
AFiles.Add(AddPath + FS.Name);
until FindNext(FS) <> 0;
SysUtils.FindClose(FS);
end;
end;

//=====================================================================
// 函數名稱: FindAllFiles
// 功能描述: 找指定目錄下的所有文件
// 參 數: APath : 路徑名稱
// APropty : 屬性名稱(*.* | *.txt)
// AFiles : 文件列表
// IsAddPath: 是否增加路徑
// 作者:
// 時間:
// 返 回 值:
// 說 明:
//=====================================================================
procedure FindAllFiles(const APath: string; AFiles: TStrings;
const APropty: String = ‘*.*‘; IsAddPath: Boolean = False);
var
FS: TSearchRec;
FPath: String;
AddPath: string;
begin
FPath := IncludeTrailingPathDelimiter(APath);
AddPath := IfThen(IsAddPath, FPath, ‘‘);
if FindFirst(FPath + APropty, faAnyFile, FS) = 0 then
begin
repeat
if (FS.Name <> ‘.‘) and (FS.Name <> ‘..‘) then
if ((FS.Attr and faDirectory) = faDirectory) then
FindAllFiles(FPath + FS.Name, AFiles, APropty, IsAddPath)
else
AFiles.Add(AddPath + FS.Name);
until FindNext(FS) <> 0;
SysUtils.FindClose(FS);
end;
end;

DELPHI如何獲取某目錄下的所有文件名?