function searchpath(path:string):string;
var
sr:TSearchRec;
ext:string;
begin
if path[length(path)]<>'\' then 判断参数是否以'\'为尾
path:=path+'\';
if FindFirst(path+'*.*', faAnyFile,sr)<>0 then //这个是判断在给定的文件目录下找第一个文件,为
什么sr 里面的NAME为什么是'.'??
exit;
if (sr.Attr and faDirectory) <> 0 then //这里的Attr是什么属性
begin
if (sr.Name<>'.') and (sr.Name<>'..') then //这里为什么要判断他的名字是否为'.'和'..'如果不满足
跳到WHILE
searchpath(path+sr.Name);
end
else
begin
// 此处加上判断文件后缀的代码
ext := lowercase(extractfileext( sr.Name ));
if (ext='.doc') then
begin
path:=path+sr.Name
end;
end;
while findnext(sr)=0 do //找下一个文件这时SR.NAME的值是'..'
begin
if (sr.Attr and faDirectory) <> 0 then //在次判断
begin
if (sr.Name<>'.') and (sr.Name<>'..') then //在次判断SR.NAME的值,不满足回到WHILE;
searchpath(path+sr.Name); 在if(sr.Attr and faDirectory)<>0Then
end
else
begin
// 此处加上判断文件后缀的代码
ext := lowercase(extractfileext( sr.Name )); //跳到这里这时SR.NAME为文件夹中要找的文件.
if (ext='.doc') then
begin
path:=path+sr.Name;
break;
end;
end;
end;
findclose(sr);
result:=path;
end;
end.