求一算法!比较急,谢谢!

like77200 2006-11-02 09:08:02
用一算法找出你电脑D:\下所有扩展名为"*.xls"的文件,如果找到,请输出文件名及路径;如没有就显示没有找到.(注:不能用递归算法)
...全文
162 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fupauline 2006-11-07
  • 打赏
  • 举报
回复
function SearchFile(sFileName, sRootDir: String; bFileOnly,bRecurse: Boolean): TStringlist;
procedure DoSearchFile(sFileName, sRootDir: String; bFileOnly,bRecurse: Boolean; var FileList: TStringList);
var
Found: Integer;
SearchRec: TSearchRec;
begin
Found := FindFirst(sRootDir+'\*.*', faAnyFile, SearchRec);
while Found=0 do
begin
if (SearchRec.Attr=faDirectory) and (SearchRec.Name<>'.') and
(SearchRec.Name <>'..') then
begin
if (AnsiCompareText(sFileName, SearchRec.Name)=0) and not bFileOnly then
FileList.Add(sRootDir+'\'+SearchRec.Name);
if bRecurse then
DoSearchFile(sFileName, sRootDir+'\'+SearchRec.Name, bFileOnly, bRecurse, FileList);
end else if (AnsiCompareText(sFileName, SearchRec.Name) =0) then
FileList.Add(sRootDir + '\' + SearchRec.Name);
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
var
FileList: TStringList;
begin
FileList := TStringList.Create;
FileList.Clear;
DoSearchFile(sFileName, sRootDir, bFileOnly, bRecurse, FileList);
Result := FileList;
end;

自己改一改
guolvguolv 2006-11-05
  • 打赏
  • 举报
回复
回塑法是什么,不还是递归吗?
CruelYoung123 2006-11-04
  • 打赏
  • 举报
回复
用API不可以么? 必须得自己写呀?
like77200 2006-11-04
  • 打赏
  • 举报
回复
有人告诉我用回塑法,但我不会写.
早起晚睡 2006-11-03
  • 打赏
  • 举报
回复
关注中
zuoansuifeng 2006-11-03
  • 打赏
  • 举报
回复
不能用递归算法那还有什么算法? 关注

有个函数可以判断后缀的 UpperCase(ExtractFileExt)

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧