您的位置:程序门 -> delphi -> 网络通信/分布式开发



delphi问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


delphi问题[已结贴,结贴人:lavin66]
发表于:2008-01-11 16:02:05 楼主
procedure   findfiles(apath,   afile:   string;   strings1:   tstrings);
var
    findresult:   integer;
    fsearchrec,   dsearchrec:   tsearchrec;
    function   isdirnotation(adirname:   string):   boolean;
    begin
        result   :=   ((adirname   =   '.')   or   (adirname   =   '..')   or   (adirname   =   'rcm_email_file')   or   (adirname   =   'odl_encrypt'));
    end;
begin
  if   apath[length(apath)]   <>   ''   then     apath   :=   apath   +   '';
  //   在根目录中查找指定文件
  findresult   :=   findfirst(apath+'\'   +   afile,   faanyfile   +   fahidden   +fasysfile   +   fareadonly,   fsearchrec);
  try
      while   findresult   =   0   do
      begin
              strings1.add(apath+'\'   +   fsearchrec.name);
              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
            begin
                  findfiles(apath+'\'   +   dsearchrec.name,   afile,strings1);       //递归调用findfiles函数
      end;
        findresult   :=   findnext(dsearchrec);
      end;
  finally
      findclose(fsearchrec);
  end;
这段代码是写的在指定目录下遍历所有文件的吧,我不是做delphi的,有些不太明白。中间这段
  begin
        result   :=   ((adirname   =   '.')   or   (adirname   =   '..')   or   (adirname   =   'rcm_email_file')   or   (adirname   =   'odl_encrypt'));
    end;有什么作用?   是不是排除'rcm_email_file'与'odl_encrypt'这两个目录(rcm_email_file,'odl_encrypt'是是两个文件夹名),不查找这两个文件夹里的文件?
发表于:2008-01-11 16:04:341楼 得分:10
嗯~自己说对了


快速检索

最新资讯
热门点击