Показать сообщение отдельно
  #1  
Старый 09.07.2017, 20:41
RedBullAndroid RedBullAndroid вне форума
Прохожий
 
Регистрация: 09.07.2017
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Помогите с фунуцией

Помогите разработать описание функции.
Код:
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;

lmikle: Пользуемся тегами!
Ответить с цитированием