请问如何遍历所有可用硬盘,并且搜索所有文件夹找出文件,只要求找到一个符合的就停止!然后在找另一个文件!
解决方案 »
- NMSMTP在哪有下载?
- 老大们,帮忙啊
- 如何使tree将属性enabled设置成false时,tree中显示不会变色?还是按照原颜色显示。
- 如何把TDBGRID中的两行记录互换位置。 请高手帮忙,没人会吗
- &&&&HELP&& listitem 是怎么create?
- 怎樣來調用dblookupcombobox控件的onclick事件?
- Oracle函数问题,报(ORA-01422: 实际返回的行数超出请求的行数)如何解决?
- 请教关于 datetimepicker控件的用法??
- 俺写了一个软件(用delphi5编写的),下载地址是:http://www.csdn.net/filebbs/list_topic.asp 帮我up一下。没分了,不好意思。
- 你认为可能很简单的数据表问题?
- D7的RAVE报表支持BDE不支持ADO????那我拿ADO连接数据库的时候,用什么控件啊!!
- 关于数据库检索中文出现乱码的问题!
{对文件名进行转换,使之以反斜杠结尾}
begin
if dir[length(dir)]<>'\' then
result:=dir+'\'
else
result:=dir;
end;function isdirnotation(adirname:string):boolean;
begin
result:=(adirname='.') or (adirname='..');
end;procedure TFrmmain.findfiles(apath: string);
{通过递归调用,可以在当前目录和子目录下查找指定格式的文件}
var
fsearchrec,dsearchrec:tsearchrec;
findresult,findresult1:integer;
begin
apath:=getdirectoryname(apath); //获取一个有效的目录名称
{查找一个匹配的文件}
findresult:=findfirst(apath+ffilename,faAnyFile+fahidden+fasysfile,fsearchrec);
try
//继续查找匹配的文件
if findresult=0 then
begin
Listbox1.Items.Add(lowercase(apath+fsearchrec.Name));
t:=t+1;
label1.Caption:=inttostr(t);
//findresult:=findnext(fsearchrec);
end;//在当前目录的子目录中进行查找
findresult:=findfirst(apath+'*.*',fadirectory,dsearchrec);
while findresult=0 do
begin
if ((dsearchrec.Attr and fadirectory)=fadirectory) and not
isdirnotation(dsearchrec.Name) then
findfiles(apath+dsearchrec.Name);//在此处是递归调用
findresult:=findnext(dsearchrec);
end;finally
findclose(fsearchrec);
end;
end;procedure TFrmmain.Button1Click(Sender: TObject);
{调用FindFiles()函数,用来搜索子目录}
begin
t:=0;
screen.Cursor:=crhourglass;
try
Listbox1.Items.Clear;
ffilename:=Edit1.Text;
findfiles(DirectoryListBox1.Directory);
finally
screen.Cursor:=crdefault;
end;
end;这次我的代码,到底问题处在哪里!