Задача такая:
Заданы полный путь BaseDir к каталогу и относительный или полный путь к файлу. Нужно получить полный путь к файлу: если второй путь полный, то вернуть его как результат, если относительный преобразовать его в полный относительно каталога BaseDir.
Есть ли какая-нибудь функция (в RTL/FCL/LCL) решающая данную проблему?
ExpandFileName(BaseDir, RelativePath)...
Модератор: Модераторы
- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
Можно использовать ф-ции из модуля packages/base/netdb/uriparser.pp: FilenameToURI() -> ResolveRelativeURI() -> URIToFileName(). Собственно, первая и последняя ф-ции нужны только для виндовых путей (линуксовые пути сами по себе являются URI). Это все, конечно, несколько избыточно... зато отлажено до полного соответствия RFC3896.
