System.AnsiStrings.ExpandFileNameCase

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function ExpandFileNameCase(const FileName: AnsiString; out MatchFound: TFilenameCaseMatch): AnsiString;

C++

extern DELPHI_PACKAGE System::AnsiString __fastcall ExpandFileNameCase(const System::AnsiString FileName, /* out */ TFilenameCaseMatch &MatchFound)/* overload */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.AnsiStrings.pas
System.AnsiStrings.hpp
System.AnsiStrings System.AnsiStrings

Beschreibung

Ermittelt den voll qualifizierten Dateinamen, indem eine Suche nach dem Dateinamen ohne Berücksichtigung der Groß-/Kleinschreibung durchgeführt wird.

ExpandFileNameCase gibt wie ExpandFileName einen voll qualifizierten Dateinamen zurück, sucht aber den Dateinamen ohne ohne Berücksichtigung der Groß-/Kleinschreibung im aktuellen Dateisystem. Dies ist hilfreich, um Benutzereingaben in verwendbare Dateinamen oder Dateinamen, die auf einem Dateisystem ohne Berücksichtigung der Groß-/Kleinschreibung (wie Windows) erstellt wurden, für Dateisysteme mit Berücksichtigung der Groß-/Kleinschreibung (wie Linux) umzuwandeln.

Der Ausgabeparameter MatchFound gibt an, welche Art von Übereinstimmung im Dateisystem gefunden wurde, und worauf das Funktionsergebnis basiert (in aufsteigender Komplexität):

  • mkExactMatch: Übereinstimmung hinsichtlich der Groß-/Kleinschreibung. Das Ergebnis ist ExpandFileName(Dateiname).
  • mkSingleMatch: Genau eine Datei im angegebenen Verzeichnispfad stimmt - ohne Berücksichtigung der Groß-/Kleinschreibung - mit dem gegebenen Dateinamen überein. Gibt ExpandFileName(Dateiname wie im Dateisystem gefunden) zurück.
  • mkAmbiguous: Mehr als eine Datei im angegebenen Verzeichnispfad stimmt - ohne Berücksichtigung der Groß-/Kleinschreibung - mit dem gegebenen Dateinamen überein. In vielen Fällen sollte dies als Fehler angesehen werden. Das Ergebnis ist ExpandFileName(Erster gefundener übereinstimmender Dateiname).
  • mkNone: Datei nicht gefunden. Gibt ExpandFileName(Dateiname) zurück.

Anmerkung:  Da diese Funktion das Dateisystem durchsucht, ist sie evtl. langsamer als ExpandFileName, besonders wenn der gegebene Dateiname mehrdeutig oder nicht vorhanden ist. Verwenden Sie ExpandFileNameCase nur bei Dateienamen von zweifelhaftem Ursprung (z.B. bei einer Benutzereingabe).

Siehe auch