如何遍历光盘里的所有目录及文件?
如何遍历光盘里的所有目录及文件? 问题点数:20、回复次数:2Top
1 楼zx_wang(wzx)回复于 2002-04-12 17:51:43 得分 5
findfisrt
findnext
findclose
看一下帮助,很简单的Top
2 楼quark(夸克)回复于 2002-04-12 18:10:35 得分 15
//==============================================================================
//统计指定目录下指定类型文件数量(包括子目录)**********************************
//==============================================================================
function GetFileCount(DirName,FileType: string): Integer;
var DirInfo: TSearchRec;
DosError: Integer;
begin
Result := 0;
DosError := FindFirst(DirName+'\*.*', FaAnyfile, DirInfo);
while DosError=0 do
begin
if ((DirInfo.Attr and FaDirectory)=faDirectory) and (DirInfo.Name<>'.') and (DirInfo.Name<>'..')
then Result := Result + GetFileCount(DirName + '\' + DirInfo.Name, FileType);
{$IF DEFINED(WIN32) AND DECLARED(UsingVCL)}
if ((DirInfo.Attr and FaDirectory)<>FaDirectory) and ((DirInfo.Attr and FaVolumeID)<>FaVolumeID)
{$ELSE}
if ((DirInfo.Attr and FaDirectory)<>FaDirectory)
{$IFEND}
then if Trim(FileType)='*.*'
then Inc(Result)
else if Pos(UpperCase(Copy(FileType,Pos('*',FileType)+1,Length(FileType)-1)),UpperCase(DirInfo.Name))>0
then Inc(Result);
DosError := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
end;
Top




