打开该文件,用try来捉错,则可知道

解决方案 »

  1.   

    打开该文件,用try来捉错,则可知道
      

  2.   

    Look this...function FindExeExist(qFileDirectory: string): Boolean;
    var
      SearchRec: TSearchRec;
      FileAttr: Integer;
    begin
      Result := False;  FileAttr := faAnyFile;  {if not(DirectoryExists(qFileDirectory) then 
      begin
        Showmessage('Invalid File Directory');
        Exit;
      end;
      }
      FindFirst(qFileDirectory + '\*.*', FileAttr, SearchRec);
      while FindNext(SearchRec) = 0 do
      begin
        if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
        begin
          // 处理 SearchRec.Name,找文件后缀转换成大写 和EXE比较.
          每一个文件都不会漏掉了.
     
          //Find Result := True;   
        end;
      end;
    end;
    我没有在delphi 中调试,直接敲的,你看看行吗?方法比较笨.
      

  3.   

    function TForm1.GetDirectoryFile(Owner:TForm;Dir,Mask:string):string;;
    var File1:TFileListBox;
        i:integer;
    begin
        file1:=TFileListBox.Create(Owner);
        file1.Parent :=Owner;
        file1.Mask:=Mask;
        file1.Visible :=false;
        file1.Directory :=dir;
        if File1.Items.Count>=1 then
           result:='有Exe文件'
        else
           result:='没有exe文件';
        file1.free;
    end;procedure TForm1.Button1OnClick(Sender as TObject)
    begin
        showmessage(GetDirectoryFile(self,'文件目录','*.exe'));
    end;
      

  4.   

    方法很简单,先遍历该目录下所有文件.再用ExtractFileExt函数判断一下是不是'*.exe'就可以.
    如果不行,你就杀了我,只要你舍得
      

  5.   

    laza的方法具有普遍性,没有问题,我做成功过!
    saoren的方法很灵巧,非Delphi不能为也,呵呵!