Модифицировать описание кода

Как улучшить описание кода:

function FormatFilePath(FilePath, Mask: String): String;
var
  Disc, Directory, FileName, Extension: String;
begin
  // Удалить ведущие и хвостовые пробелы
  FilePath := Trim(FilePath);
  try
    // В полном имени файла FilePath найти:
    //   1) имя диска (не работает, если FilePath - сетевой путь)
    Disc := GetFirstRegExpMatch(FilePath, '^([A-Z]{1}):\\');
    //   2) директорию
    Directory := GetFirstRegExpMatch(FilePath, '^[A-Z]{1}:\\(.*)\\[^\\]+');
    //   3) имя файла
    FileName := GetFirstRegExpMatch(FilePath, '^[A-Z]{1}:\\.*\\([^\\]+)\.[^\.\\]+$');
    //   4) расширение файла
    Extension := GetFirstRegExpMatch(FilePath, '^[A-Z]{1}:\\.*\\[^\\]+\.([^\.\\]+)$');
  except
    // Если полное имя файла задано не верно, вернуть пустую строку
    Result := '';
    Exit;
  end;
  // Скомпоновать полученные значения (диск, директорию, имя файла и расширение)
  // в строку, как указано в маске Mask
  Result := Mask;
  // Заменить %D на имя диска
  Result := Replace(Result, '%D', Disc);
  // Заменить %P на путь
  Result := Replace(Result, '%P', Directory);
  // Заменить %N на имя файла
  Result := Replace(Result, '%N', FileName);
  // Заменить %E на расширение
  Result := Replace(Result, '%E', Extension);
end;

Ответы (0 шт):