ExpandFileName(BaseDir, RelativePath)...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

ExpandFileName(BaseDir, RelativePath)...

Сообщение shade » 20.06.2007 22:56:32

Задача такая:
Заданы полный путь BaseDir к каталогу и относительный или полный путь к файлу. Нужно получить полный путь к файлу: если второй путь полный, то вернуть его как результат, если относительный преобразовать его в полный относительно каталога BaseDir.

Есть ли какая-нибудь функция (в RTL/FCL/LCL) решающая данную проблему?
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Sergei I. Gorelkin » 21.06.2007 00:50:41

Можно использовать ф-ции из модуля packages/base/netdb/uriparser.pp: FilenameToURI() -> ResolveRelativeURI() -> URIToFileName(). Собственно, первая и последняя ф-ции нужны только для виндовых путей (линуксовые пути сами по себе являются URI). Это все, конечно, несколько избыточно... зато отлажено до полного соответствия RFC3896.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39

Рейтинг@Mail.ru