Delphi/C++ Builder の ExtractFilePath 関数   ファイル名のドライブとディレクトリ部分を返す関数だが、単純にデリミタ(\)を後ろから検索しているだけなので、ネットワークドライブの時に、正しい区切りを取得できない    \\svr\shareddir\hoge → \\svr\shareddir\   \\svr\shareddir → \\svr\   という値が返ってくる   ネットワークドライブの場合 \\svr\shareddir までがドライブのため \\srv\ という表記は無いワケ  ExtractFileDrive を利用すると \\svr\shareddir が返ってくるので       function ExtractFilePathEx(S: string): string;         var Drive, Path: string;     begin         Drive := IncludeTrailingPathDelimiter(ExtractFileDrive(S));         Path  := ExtractFilePath(S);         if (Length(Drive) > Length(Path)) then begin             Result := Drive;         end else begin             Result := Path;         end;     end;  みたいにすると \\svr までさかのぼらずに済む