C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
работа с относительными путями, используются в html
Evil_Smile
  Отправлено: 13.08.2006, 15:06


Дежурный стрелочник

Группа: Участник
Сообщений: 57



подскажите функцию для работы с относительными путями (используются в html)
есть функция на delphi но перевести я её не могу


CODE

procedure TForm1.FormCreate(Sender: TObject);
var
 dest: string;
 BaseFile, RelativePath: String;
begin
 BaseFile := 'C:\folder1\folder2\folder3\';
 RelativePath := '..\..\test2.dat';
 SetLength(dest, MAX_PATH);
 PathCombine(@dest[1], PChar(ExtractFilePath(BaseFile)), PChar(RelativePath));
 SetLength(dest, StrLen(@Dest[1]));
 ShowMessage(dest);
end;



заранее благодарен
AVC
Отправлено: 14.08.2006, 16:27


Ветеран

Группа: Модератор
Сообщений: 1583



Unit: Sysutils
Category: file name utilities

ExpandFileName и прочие. Там много всего.
Evil_Smile
Отправлено: 14.08.2006, 18:12


Дежурный стрелочник

Группа: Участник
Сообщений: 57



а можно по подробнее об этой строчке

CODE

PathCombine(@dest[1], PChar(ExtractFilePath(BaseFile)), PChar(RelativePath));
__Cheat3r
Отправлено: 14.08.2006, 21:12


Станционный диспетчер

Группа: Участник
Сообщений: 110



пример PathCombine от BCBHELP
#include
#include
#include "Shlwapi.h"

void main( void )
{
// Buffer to hold combined path.
char buffer_1[MAX_PATH] = "";
char *lpStr1;
lpStr1 = buffer_1;

// String for balance of path name.
char buffer_2[ ] = "One\\Two\\Three";
char *lpStr2;
lpStr2 = buffer_2;

// String for directory name.
char buffer_3[ ] = "C:";
char *lpStr3;
lpStr3 = buffer_3;

cout << "The file path to be combined is "
<< lpStr2 << endl;
cout << "The directory name path is "
<< lpStr3 << endl;
cout << "The combined path is "
<< PathCombine(lpStr1,lpStr3,lpStr2) << endl;
}

------------
INPUT:
------------
Path for directory part: "C:"
Path for file part: "One\Two\Three"
------------
OUTPUT:
------------
The file path to be combined is One\Two\Three
The directory name path is C:
The combined path is C:\One\Two\Three

Вернуться в Вопросы программирования в C++Builder