ファイルかフォルダかを見分ける
70 SelectFileOrFolder 動作確認 Delphi2007 更新日 2008/01/31(木)

ファイルなのかフォルダなのかを判断する場合は
単純に FileExists か DirectoryExists を使います。

────────────────────
procedure TForm1.Button1Click(Sender: TObject);

    function BoolToStr(Value: Boolean): String; overload;
    begin
      Result := SysUtils.BoolToStr(Value, True);
    end;

var
  Target: String;
begin
  with Memo1.Lines do
  begin
    //存在するファイル
    Target := Application.ExeName;
    Add('Application.ExeName');
    Add('  FileExists:'+BoolToStr(FileExists(Target)));
    Add('  DirectoryExists:'+BoolToStr(DirectoryExists(Target)));
    Add('');

    //存在するフォルダ
    Target := ExtractFileDir( Application.ExeName );
    Add('Application Directory');
    Add('  FileExists:'+BoolToStr(FileExists(Target)));
    Add('  DirectoryExists:'+BoolToStr(DirectoryExists(Target)));
    Add('');

    //存在しないファイル
    Target := ExtractFilePath( Application.ExeName ) + 'a.txt';
    Add('NoExist File');
    Add('  FileExists:'+BoolToStr(FileExists(Target)));
    Add('  DirectoryExists:'+BoolToStr(DirectoryExists(Target)));
  end;
end;
────────────────────
結果は次のとおりです。

    Application.ExeName
      FileExists:True
      DirectoryExists:False

    Application Directory
      FileExists:False
      DirectoryExists:True

    NoExist File
      FileExists:False
      DirectoryExists:False