搜索软件 为什么就没人肯告诉我呢???都说是很弱智的问题^太伤自尊了.......(50分)

  • 主题发起人 主题发起人 wutaoqing
  • 开始时间 开始时间
W

wutaoqing

Unregistered / Unconfirmed
GUEST, unregistred user!
有谁做过搜索软件 在电脑中搜索文件 或者 应用程序 判断电脑里面有没有这文件 如果有 显示它的路径
 
递归查找
 
可以参考一下:

var
sr:tsearchrec;
err:integer;
filename,filepath:string;
count_postfix:string;
begin

lv_item:=1;
chdir(mypath.workpath);
//查找第一个文件
err := findfirst('*.*',faAnyFile,sr);
//如果找到文件,开始递归搜索
while(err=0) do
begin
if sr.Name[1]<>'.' then
begin
//找到文件
if (sr.Attr and fadirectory) <>fadirectory then
begin
if sr.Name <> null then
begin
filename := sr.Name;
filepath := expandfilename(sr.Name);
count_postfix := rightstr(filename,Length(filename)-posex('.',filename,1));
end;
end;
end;
//找到子目录
if (sr.Attr and fadirectory) =fadirectory then
begin
filepath := expandfilename(sr.Name);
chdir(sr.Name);
maketree;
chdir('..');
end;
end;
err := findnext(sr);
end;
findclose(sr);
end;
 
TO:mythad
麻烦你可以帮我写完整一点吗??我只是在EDIT1里面写 文件名 然后点击Button1 如果没有就SOHEMESSAGE(“没有”),如果有的话 在Memo1里面显示这个文件的路径 可以帮我写完整点吗??谢谢了
 
有很多啊。 就是个递归查找, 指定一个目录, 或者遍历所有盘符。
 
递归查找:::
什么意思??是不是一个目录一个目录的查找??一个文件一个文件的查找?? 先找C盘,再找D盘,E,F,G。。
 
我只是想在EDIT1里面写 文件名 然后点击Button1 如果没有就SOHEMESSAGE(“没有”),如果有的话 在Memo1里面显示这个文件的路径 可以帮我写完整点吗??谢谢了
 
楼猪 不知是懒 还是不会写
楼上有兄弟已经给你代码了
自己捣鼓一下就得了。。。
 
你看见mypath.workpath了么,这个你换成workpath就是你要的工作路径,你定义一下就能用,你再看中间的filename,就是找到的文件,如果想要找特定文件就把它与*.*比较即可,你看见filepath了吗,那个就是路径了,还用我给你写么?
 
一直是死循环,posex没有定义,怎么会定义不了?
 
后退
顶部