System.SysUtils.ExpandFileNameCase

提供:RAD Studio API Documentation

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

プロパティ

種類 可視性 ソース ユニット 親
function public
System.SysUtils.pas
System.SysUtils.hpp
System.SysUtils System.SysUtils


説明

大文字と小文字を区別するファイル システム上の相対ファイル名の完全パス名を返します。

ExpandFileNameCase では相対ファイル名を完全修飾パス名に展開してから、そのファイルまたは名前の一致率が高い(大文字と小文字を区別しない)ファイルの検出を試みます。 これが便利なのは、ファイル名データを大文字と小文字を区別しない規約(Windows)から大文字と小文字を区別する規約(MacOS および Linux)に変換するときです。さらに、MacOS の規約に慣れていないユーザーが入力したファイル名を検証する場合に便利です。

FileName は展開する相対ファイル名です。

MatchFound は、FileName に対して検出された一致内容(存在する場合)を示します。

戻り値は ExpandFileNameCase で生成された完全修飾パス名です。 戻り値と FileName との関係は、MatchFound の値で決まります。詳細は次の表に示します。


MatchFound 戻り値
mkNone ExpandFileName により返る、完全修飾パス名です。
mkExactMatch FileName に大文字と小文字を区別して一致した、単一ファイルの完全修飾パス名です。 これは MatchFound が mkNone であるときに返される値と同じです。
mkSingleMatch (MacOS および Linux 上で)FileName に大文字と小文字を区別せずに一致した単一ファイルの完全修飾パス名です。
mkAmbiguous (MacOS および Linux 上で)FileName に大文字と小文字を区別せずに一致したものの 1 つの完全修飾パス名です。このパス名は指定ファイルと同じではなく、必ずしも一致率が高い名前ではありません。

メモ: ExpandFileNameCase の処理速度は ExpandFileName よりもはるかに低いです。特に、指定したファイル名があいまいであるとき、つまり実際のファイルに一致しないときです。

関連項目