System.SysUtils.ExpandFileNameCase
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.