查找目录下所有的文件
procedure FindAllFiles(var Dir,Mask:string);
var
Srec: TSearchRec;
retval: Integer;
oldlen: Integer;
path:string;
begin
Path:=Dir;
oldlen := Length(Dir);
retval := FindFirst( Dir+Mask,faAnyFile,Srec);
While retval=0 Do
Begin
If (Srec.Attr and (faDirectory or faVolumeID)) = 0 Then //是文件
begin
//相应的处理,用户自己添加
//Srec.Name是文件名
end;
retval := FindNext(Srec);
End;
FindClose(Srec);retval:=FindFirst(path+'*.*',faDirectory,Srec);
While retval=0 Do
Begin
If (Srec.Attr and faDirectory)<>0 Then //是目录
If (Srec.Name <> '.') and (Srec.Name <> '..') Then
Begin
path := path + Srec.Name + '\';
Recurse(path, mask);
Delete(path,oldlen+1,260);
End;
retval := FindNext( Srec );
End;
FindClose( Srec );
end;//查找所有文件
procedure TForm1.Button4Click(Sender: TObject);
var
  Dir,Mask:string;
begin
  Dir:=DirectoryEdit1.Text+'\';
  Mask:='*.*';
  FindAllFiles(Dir,Mask);
end;