System.SysUtils.ExpandFileNameCase

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

C++

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

Propriétés

Type Visibilité  Source Unité  Parent
function public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils


Description

Renvoie le chemin complet d'un nom de fichier relatif sur un système de fichiers sensible à la casse.

ExpandFileNameCase développe un nom de fichier relatif dans un nom de chemin qualifié complet, puis recherche le fichier ou une correspondance proche sans tenir compte de la casse. Cette fonction est utile quand vous convertissez les données des noms de fichiers à partir de conventions ne tenant pas compte des différences majuscules/minuscules (sous Windows) en conventions tenant compte des différences majuscules/minuscules (sous MacOS et Linux). Elle permet également de valider des noms de fichiers saisis par des utilisateurs qui ne connaissent pas les conventions MacOS.

FileName spécifie le nom de fichier relatif à développer.

MatchFound indique la correspondance, le cas échéant, trouvée pour FileName.

La valeur renvoyée est le nom du chemin qualifié complet généré par ExpandFileNameCase. Sa relation avec FileName dépend de la valeur de MatchFound, comme l'explique le tableau suivant :


MatchFound Valeur renvoyée
mkNone Le nom de chemin qualifié complet renvoyé par ExpandFileName.
mkExactMatch Le nom de chemin qualifié complet de la seule correspondance à FileName tenant compte de la casse. C'est la même valeur que celle renvoyée quand MatchFound a pour valeur mkNone.
mkSingleMatch (Sous MacOS et Linux) Le nom de chemin qualifié complet du seul fichier qui correspond à FileName sans tenir compte de la casse.
mkAmbiguous (Sous MacOS et Linux) Le nom de chemin qualifié complet de l'une des correspondances à FileName ne tenant pas compte de la casse. Ce nom est différent du fichier spécifié ; il ne s'agit pas nécessairement de la correspondance la plus proche.

Remarque : ExpandFileNameCase est beaucoup plus lente que ExpandFileName, en particulier quand le nom spécifié est ambigu ou ne correspond à aucun fichier réel.

Voir aussi