|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите с фунуцией
Помогите разработать описание функции.
Код:
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: Пользуемся тегами! Последний раз редактировалось lmikle, 09.07.2017 в 20:48. |