![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. |
|
#2
|
|||
|
|||
|
Какое описание нужно-то? Вроде, в коде все откомментированно...
ЗЫ. Для особых извращенцев - есть спец. функции в Delphi: ExtractFileDrive ExtractFilePath ExtractFileName ExtractFileExt А для определения, что диск сетевой - путь начинается с '\\' |
|
#3
|
|||
|
|||
|
Цитата:
Дали тестовое задание для устройства на работу,а как описать не объяснили... |