我要查找某个目录下的某类扩展名的文件,但使用FindFirst结果似乎有点扩大化了.比如我要查找*.pas类型文件文件,结果返回中包括了类似xx.pas~,xx.pas_这样的文件,我传入的掩码是*.pas,希望返回的正确结果是a.pas,b.pas,但不应包括c.pas~,d.pas_.但从返回值看似乎是应用了掩码*.pas*或*.pas?,结果不正确啊,请教应该如何返回对应的正确的掩码*.pas的文件.示例代码:
procedure TForm1.btn1Click(Sender: TObject);
var
  Search: TSearchRec;
  Result: Integer;
  dir, Mask: string;
  s: string;
begin
  dir := 'c:\y\';
  Mask := '*.pas';
  s := Dir + Trim(Mask);
  Result := FindFirst(s, faAnyFile, Search);
  try
    while Result = 0 do
    begin
      if (Search.Attr and faDirectory) <> 0 then
        Result := FindNext(Search)
      else
      begin
        ShowMessage(Search.Name);
        Result := FindNext(Search);
      end;
    end;
  finally
    FindClose(Search);
  end;
end;