注意,是目录,不是文件名。谢谢!!

解决方案 »

  1.   

    var
      iFindResult: integer;
      SearchRec: TSearchRec;
    begin
      iFindResult := FindFirst('c:\*.*', faAnyFile, SearchRec);
      while iFindResult = 0 do
      begin
        if SearchRec.Attr =faDirectory then
          ListBox1.Items.Add(SearchRec.Name);
        iFindResult := FindNext(SearchRec);
      end;
      FindClose(SearchRec);
    end;
      

  2.   

    procedure DirList(const dir: string): string;
    var SearchRec: TSearchRec; ok: integer; attrs: string[5];
    begin
      ok:=FindFirst(dir+'*',$3f,SearchRec);
      while ok=0 do begin
        with SearchRec do begin
          if Attr and faDirectory <> 0 then attrs[1]:='D' else attrs[1]:='-';
          if Attr and faArchive   <> 0 then attrs[2]:='A' else attrs[2]:='-';
          if Attr and faSysFile   <> 0 then attrs[3]:='S' else attrs[3]:='-';
          if Attr and faHidden    <> 0 then attrs[4]:='H' else attrs[4]:='-';
          if Attr and faReadOnly  <> 0 then attrs[5]:='R' else attrs[5]:='-';
          setlength(attrs,5);
          writeln(attrs+' '+DateTimeToStr(FileDateToDateTime(time))+#9+IntToStr(size)+#9+dir+Name);
          if Attr and faDirectory <> 0 then DirList(dir+Name+'\');
        end;
        ok:=FindNext(SearchRec);
      end;
      FindClose(SearchRec);
    end;