if FileExists('d:\b.xml') then .........
解决方案 »
- 在Delphi下使用 DevExpress 控件的朋友,希望在此留下E-Mail或QQ,诚心交流、共同提高。
- 一个OLE中让我困惑了很久的问题!!!!!
- 全文检索检索到的文件怎么打不开呀?
- 如何取得指定文件夹下指定后缀名(可有多个后缀名)的文件的个数?
- 高分求教:天心的主介面的流程圖用甚麼東西做的?
- 怎样将STRINGGRID的内容用报表打印出来?
- 从SQL SERVER 7.0 导出数据至SQL SERVER 2000出现的问题!
- INTERNET通讯问题,高手来啊。
- 请问在DELPHI中,两个日期型变量怎么能么才能得到它们相隔的小时数?相减吗?
- delphi问题!!急!!!
- 看别人的程序有一句程序不明白
- 大家谈谈DELPHI6吧,来者有分,哈哈
指定到该目录下 FileListbox1.ApplyFilePath('path')就可以
procedure FindFiles(sPath:string;var FileBuf:TStringList);
var
sr:TSearchRec;
begin
FileBuf.Clear;
if FindFirst(sPath,faAnyFile,sr)=0 then
begin
if not((sr.Attr and faDirectory)>0) then
FileBuf.Add(sr.Name);
while FindNext(sr)=0 do
begin
if not((sr.Attr and faDirectory)>0) then
FileBuf.Add(sr.Name);
end;
end;
FindClose(sr);
end;
procedure tform1.FIND(
//路径;
path:string;
//文件类型;
atype:tstrings;
//是否包含子目录;
includ:bool);
var SearchRec: TSearchRec;
OLDDIR:STRING;
i: integer;
begin
//检测路径是否正确
if DirectoryExists(path) then
begin
//进入该目录,查找其中的子目录和文件
oldDir := GetCurrentDir;
ChDir(path);
//检测目录中所有类型文件
FindFirst('*.*', faAnyFile, SearchRec);
repeat
//如果是目录并且不是.和..,还有查找包含子目录则递归调用find
if(SearchRec.Attr and faDirectory > 0)and includ then
begin
if(SearchRec.Name[1]<>'.') then
FIND(SearchRec.Name,atype,includ);
end
//如果是文件则检测后缀
else
{------------如果属于查找类型则加入listbox------------}
with atype do
for i:=0 to count-1 do
begin
if ExtractFileExt(SearchRec.Name)=strings[i] then
ListBox1.Items.Add(SearchRec.Name);
end;
{-----------------------------------------------------}
//继续查找,直到最后
until (FindNext(SearchRec)<>0) ;
//跳出上一层
SetCurrentDir(oldDir);
end
else //路径错误就fuck!;
showmessage('fuck!something is 错误!');
end ;
将以下改为:
//procedure TForm1.Button1Click(Sender: TObject);
//var
// i:string;
//begin
//SelectDirectory('浏览目录','',i);
//end;procedure TForm1.Button1Click(Sender: TObject);
var
i:string;
aa:tstrings;
rr:bool;//这个为是否查找子目录的标志
begin
aa:=tstringlist.Create;
//这里你可以任意添加你想查找文件的类型
aa.add('.rm');
aa.add('.ram');
aa.add('.mp3');
//...
rr := True;
if SelectDirectory('浏览目录','',i) then
begin
if i[Length(i)]<>'\' then
i := i + '\';
Find(i,aa,rr);
end;
end;