System.AnsiStrings.ExpandFileNameCase

De RAD Studio API Documentation
Aller à : navigation, rechercher

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 */;

Propriétés

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

Description

Obtient le nom de fichier complet en effectuant une recherche de nom de fichier insensible à la casse pour une correspondance proche.

ExpandFileNameCase renvoie un nom de fichier complet comme ExpandFileName, mais effectue une recherche de nom de fichier insensible à la casse pour une correspondance proche dans le système de fichiers, différant seulement dans la distinction minuscule/majuscule des lettres. C'est utile pour convertir l'entrée de l'utilisateur en noms de fichiers utilisables ou pour convertir des données nom de fichier créées sur un système de fichiers insensible à la casse (comme Windows) en données utilisables sur un système de fichiers sensible à la casse (comme Linux).

Le paramètre out de MatchFound indique quel type de correspondance a été trouvée dans le système de fichiers et sur quoi est basé le résultat de la fonction (afin d'augmenter la difficulté ou la complexité) :

  • mkExactMatch : Correspondance sensible à la casse. Le résultat est ExpandFileName(FileName).
  • mkSingleMatch : Exactement un fichier du chemin de répertoire donné correspond au nom de fichier donné sans sensibilité à la casse. Renvoie ExpandFileName(FileName comme trouvé dans le système de fichiers).
  • mkAmbiguous : Plus d'un fichier du chemin de répertoire donné correspond au nom de fichier donné sans sensibilité à la casse. Dans de nombreux cas, ceci devrait être considéré comme une erreur. Le résultat est ExpandFileName(Premier nom de fichier correspondant trouvé).
  • mkNone : Fichier non trouvé. Renvoie ExpandFileName(FileName).

Remarque :  Puisque cette fonction recherche dans le système de fichiers, elle peut être plus lente que ExpandFileName, particulièrement quand le nom de fichier donné est ambigu ou n'existe pas. Utilisez ExpandFileNameCase seulement quand vous avez un nom de fichier d'origine douteuse (comme la saisie d'un utilisateur) et que vous voulez faire une meilleure hypothèse avant l'échec.

Voir aussi