你写的查找文件的程序,怎么这样写阿
一般都是使用 findfirst findnext 等api 函数的呀
是要循环 判断 findnext 不为0就是真名有,然后把文件结构体的名字和
路径可以加进来,就可以拉

解决方案 »

  1.   

    我都是用findfirst findnext,你是怎样写?
      

  2.   

    是这样的 这个函数先查找当前目录下的子目录
    就是if ((SearchRec.Attr and faDirectory) = faDirectory) and (SearchRec.Name<>'.') and (SearchRec.Name<>'..')  then 这一段
    '.'和'..'分别表示当前目录和上层目录  然后查找当前目录下的所有符合条件的文件
    最后调用Searchfile(mainpath+subdir1.Strings[i]'\',Filename,filename1,foundresult);来递归查找子目录下的文件至于为什么查不全 还得再仔细看看 暂时没发现 hoho
    by the way 你用Delphi6了啊 呵呵 有LabeledEdit的日子真是幸福
    我还在用5呢
      

  3.   

    等等 再仔细看一遍以后 发现问题
    你的流程是错误的 而且问题十分多啊
    比如 这个函数的参数中有两个filename 原意应该是要查找的起始文件和中止文件 可是你的函数中 根本就没用到 而是从Edit中读取文件名 这样就失去递归函数的意义了
    再者 你的k变量是全局变量 每次调用就加1 这样一次只能找到一个文件 而且在递归调用查找子目录的时候也会增加 这样如果有6个子目录 而且子目录中没有符合条件的文件 k的值就会跳跃 就会出现从2跳到8的情况