我现在用的遍历目录的过程是这样的procedure TForm1.Button1Click(Sender: TObject);
begin
Get('D:\','*.txt')
end;procedure TForm1.Get(path,fname:String);
begin
//遍历查找文件
end;问题来了,如果是查找多种文件类型时,这个代码效率就很慢了!不知各位有什么高招请指点一下!
解决方案 »
- 求助,各位大大向您们请教一个短信发送问题,在此先谢谢了!
- 帮我检查一个简单的SQL语句错在哪里?
- 关于应用服务器程序的数据集组件的问题,给高分
- update语句请教!
- 在DELPHI中,用那个控件能把.RTF文件按原有的格式显示在屏幕上!
- 不好意思,我是delphi新手,请问一下delphi 文件的*.rtm檔是要用什么工具编辑?
- winNT关机的api函数是什么啊?
- 定义的菜单项的shortcut如何显示出来!一定给分!
- 关于ACCESS 2000的安全性问题thanks all,bow
- 我是菜鸟想请教各位大侠一点问题,望多指教
- sql access 简单问题!!
- 运行程序时发生以下错误提示,请各位帮我找出出错原因.
var
sr: TSearchRec;
begin
SourcePath:=IncludeTrailingPathDelimiter(SourcePath);
if FindFirst(SourcePath + '*.*', faAnyFile, sr) = 0 then
begin
repeat
//处理这个文件,文件名是 sr.Name;
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
if FindFirst(SourcePath + '*.*', faAnyFile, sr) = 0 then
begin
repeat
//处理这个文件,文件名是 sr.Name;
until FindNext(sr) <> 0;
FindClose(sr);
end;
然后通过 ExtractfileExt获取扩展名进行判断
myext = 'e?e';/?xe/ex?
extchar : ayyay [0..2] of char;
i := pos('?',myext );
ext := ExtractfileExt(..);
case i of
1 : if (ext[2] = myext[2]) and (ext[3] = myext[3]) then...
2 : if (ext[1] = myext[1]) and (ext[3] = myext[3]) then...
3 : if (ext[1] = myext[1]) and (ext[2] = myext[2]) then...
myext = 'e?e';/?xe/ex?
i := pos('?',myext );
ext := ExtractfileExt(..);
case i of
1 : if (ext[2] = myext[2]) and (ext[3] = myext[3]) then...
2 : if (ext[1] = myext[1]) and (ext[3] = myext[3]) then...
3 : if (ext[1] = myext[1]) and (ext[2] = myext[2]) then...
else
if ext = myext then ...
end;