怎样提取某盘中目录(100分)

  • 主题发起人 主题发起人 gnibi9791
  • 开始时间 开始时间
G

gnibi9791

Unregistered / Unconfirmed
GUEST, unregistred user!
特别是光盘了,当有很多的光盘资料时,想找某个文件半天都找不到,于是我就想制作一个小程序。来提取盘中的目录,并且希望能够控制提目录的深度。但我是一个初学者,希望有高手帮忙指点,怎样才能提出盘中的目录。
 
用findFirst('g:/*.*',faDirectory,sr)可以找出G盘下的所有目录.
再找里面的目录可以用递归查找就行了
 
你说的是盘中的所有目录(包括子目录)吗?还是根目录下的所有目录.
 
是的,包括根目录下的所有目录
 
下面是一个进行目录搜索的例程,经过修改你可以搜索需要的文件类型

procedure searchpath(path:string);
var
SearchRec : TSearchRec;
ext : string; //后缀
begin
//在路径后面加上'/'
if path[Length(path)] <> '/' then path := path + '/';
if FindFirst(path + '*.*', faAnyFile, SearchRec) <> 0 then Exit;
//判断是否为目录,是目录则循环
if (SearchRec.Attr and faDirectory) <> 0 then
begin
if (SearchRec.name<>'.') and (SearchRec.Name<>'..') then
SearchPath(path+searchrec.name);
end
else
begin
{ 此处加上你自已的判断文件后缀的代码
ext := LowerCase(ExtractFileExt( SearchRec.Name ));
if (ext='.bmp') or (ext='.jpg') then
begin
...
end;}
end;
while FindNext(SearchRec)=0 do
begin
if (SearchRec.Attr and faDirectory) <> 0 then
begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then
SearchPath(path+SearchRec.Name);
end
else
begin
{ 此处加上你自已的判断文件后缀的代码
ext := LowerCase(ExtractFileExt( SearchRec.Name ));
if (ext='.bmp') or (ext='.jpg') then
begin
...
end;}
end;
end;
FindClose(SearchRec);
end;
 
帮顶!

http://www.source520.com

站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载

http://www.source520.com/search/search.asp

"编程.站长"论坛搜索引擎-----为中国站长注入动力!
 
多人接受答案了。
 
后退
顶部