Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Eigener FileExists Code funktioniert nicht richtig

  Alt 18. Mär 2007, 16:58
Hallo Michael,

ich vermute, daß er ohne Backslash das aktuelle Verzeichnis des angegebenen Laufwerks nimmt. Kann man mit FindFirstFile überhaupt Laufwerke überprüfen?

Hier ist eine mögliche Alternative:

Delphi-Quellcode:
function FileExists (const FileName: string; dir: Boolean = False): Boolean;
var
  HiDate, LoDate : Word;
  Handle : THandle;
  FindData : TWin32FindData;
  LocalFileTime : TFileTime;
begin
  if (GetDriveType(PChar(FileName)) in [0, 1]) then
    begin
      Result := False;
      Handle := FindFirstFile(PChar(FileName), FindData);
      if (Handle <> INVALID_HANDLE_VALUE) then
        begin
          Windows.FindClose(Handle);
          if (((FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0) = dir) then
            begin
              FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
              Result := FileTimeToDosDateTime(LocalFileTime, HiDate, LoDate);
            end;
        end;
    end
  else
    Result := dir;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat