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 */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.SysUtils.pas System.SysUtils.hpp |
System.SysUtils | System.SysUtils |
説明
大文字と小文字が区別されるファイルシステムの相対ファイル名に対応する絶対パス名を返します。
ExpandFileNameCase は,相対ファイル名を絶対パス名に変換した後,そのファイルまたは大文字と小文字の区別も一致する類似した名前のファイルを検索します。これは,大文字と小文字を区別しない規約(Windows)から大文字と小文字を区別する規約(Linux)にファイル名のデータを変換するときに便利です。また,Linux の規約に不慣れなユーザーが入力したファイル名を検証するためにも有効です。
FileName は,相対ファイル名で表され使用時に展開されます。
MatchFound は,FileName と一致したファイルを示します(存在する場合)。
戻り値は,ExpandFileNameCase が生成する絶対パス名です。戻り値と FileName との関係は,MatchFound の値に依存して,以下のように変化します。
MatchFound | 戻り値 |
---|---|
mkNone |
ExpandFileName が返す絶対パス名。 |
mkExactMatch |
FileName と一致する絶対パス名(大文字と小文字を区別)。MatchFound が mkNone である場合の戻り値と同じ値。 |
mkSingleMatch |
(Linux のみ) FileName と一致するファイルの絶対パス名(大文字と小文字を区別しない)。 |
mkAmbiguous |
(Linux のみ) FileName と一致するファイル名のうちの 1 つの絶対パス名。このパス名は指定されたファイルと同じではなく,かつ,必ずしも最も一致しているファイルではない。 |
メモ: ExpandFileNameCase は,指定されたファイル名があいまいである場合や,実際のファイルと一致しない場合は特に,ExpandFileName と比べて大幅に時間がかかります。