Я часто использую ExtractRelativePath, чтобы получить относительный путь между двумя путями. Но я не вижу никакой функции, противоположной ей. Это пример из freepascal.org:Что противоположно ExtractRelativePath в Паскале?
Uses sysutils;
Procedure Testit (FromDir,ToDir : String);
begin
Write ('From "',FromDir,'" to "',ToDir,'" via "');
Writeln (ExtractRelativePath(FromDir,ToDir),'"');
end;
Begin
Testit ('/pp/src/compiler','/pp/bin/win32/ppc386');
Testit ('/pp/bin/win32/ppc386','/pp/src/compiler');
Testit ('e:/pp/bin/win32/ppc386','d:/pp/src/compiler');
Testit ('e:\pp\bin\win32\ppc386','d:\pp\src\compiler');
End.
Выход этой программы
From "/pp/src/compiler" to "/pp/bin/win32/ppc386" via "../bin/win32/ppc386"
From "/pp/bin/win32/ppc386" to "/pp/src/compiler" via "../../src/compiler"
From "e:/pp/bin/win32/ppc386" to "d:/pp/src/compiler" via "../../src/compiler"
From "e:\pp\bin\win32\ppc386" to "d:\pp\src\compiler" via "../../src/compiler"
мне нужно функцию F, чтобы выполнить обратное действие ExtractRelativePath, например:
F('/pp/src/compiler', '../bin/win32/ppc386') return '/pp/bin/win32/ppc386'.
Знаете ли вы какую-либо функцию? Заранее спасибо.
возможно дубликат [Преобразование между абсолютными и относительными путями в Delphi] (http://stackoverflow.com/questions/5329472/conversion-between-absolute-and-relative-paths -in-delphi) – GolezTrol
@ GolezTrol, который не связан с расширением, что si о слиянии полностью с относительным. –
http://www.delphipages.com/forum/showthread.php?t=173795 –