Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#9

Re: FileExists aber Casesensitive

  Alt 24. Nov 2009, 13:23
zum Vergleichen kann man auch mal die CompilerMagic ausnutzen und eventuell könnte man auch gleich noch mit prüfen, ob es auch wirklich 'ne Datei ist
Delphi-Quellcode:
function FileExistsCaseSensitive(const Filename: TFileName): Boolean;
var SR: TSearchRec;
begin
  Result := FindFirst(Filename, faAnyFile, SR) = 0;
  if Result then FindClose(SR);
  Result := Result and (SR.Attr and faDirectory = 0) and (SR.Name = Filename);
end;
Delphi-Quellcode:
function FileExistsCaseSensitive(const Filename: TFileName): Boolean;
var SR: TSearchRec;
begin
  Result := FindFirst(Filename, faAnyFile and not faDirectory, SR) = 0;
  if Result then FindClose(SR);
  Result := Result and (SR.Name = Filename);
end;

[edit]
und noch was Windowstypisches ... was passiert, wenn man als FileName den kurzen 8.3-Namen angibt?
Delphi-Quellcode:
function FileExistsCaseSensitive(const Filename: TFileName): Boolean;
var SR: TSearchRec;
begin
  Result := FindFirst(Filename, faAnyFile, SR) = 0;
  if Result then FindClose(SR);
  Result := Result and (SR.Attr and faDirectory = 0) and ((SR.Name = Filename)
    or AnsiSameText(SR.FindData.cAlternateFileName, Filename));
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat