查找某目录下的所有文件

(1)查找指定扩展名的文件
procedure TForm1.Button1Click(Sender: TObject);
var
  sr: TSearchRec;
begin
  ListBox1.Items.Clear ;
  if FindFirst('D:\work\*.*', faAnyFile, sr) = 0 then
  begin
    repeat
      if pos('.xls',lowercase(sr.Name))>0 then
        ListBox1.Items.Add(sr.Name)  ;
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
end;

(2)查找某目录下的所有文件,非目录
procedure TForm1.Button2Click(Sender: TObject);
var
  sr: TSearchRec;
begin
  ListBox1.Items.Clear ;
  if FindFirst('D:\work\*.*', faAnyFile, sr) = 0 then
  begin
    repeat
      if (sr.Attr and faDirectory)=0 then
        ListBox1.Items.Add(sr.Name+ '   '+intToStr(sr.Attr))  ;
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
  showMessage(intToStr(ListBox1.Items.count));
end;

(3)查找某目录下的所有目录,包含 “.”  “..”
procedure TForm1.Button2Click(Sender: TObject);
var
  sr: TSearchRec;
begin
  ListBox1.Items.Clear ;
  if FindFirst('D:\work\*.*', faAnyFile, sr) = 0 then
  begin
    repeat
      if (sr.Attr and faDirectory)<>0 then
        ListBox1.Items.Add(sr.Name+ '   '+intToStr(sr.Attr))  ;
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
  showMessage(intToStr(ListBox1.Items.count));
end;

(0)

相关推荐