![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из сокращённого пути сделать полный? [D7, WinXP]
rolex © (2005-06-08 20:39:00)К примеру имеется адрес C:\DOCUM~1\..., как его преобразовать в полный?
Юрий Зотов (2005-06-08 21:57:00) [1]> Alx2 © (08.06.05 21:36) [5]
Возраст SDK из комплекта Delphi - 100 лет в обед, там многого нет. А GetLongPathName появилась начиная с Win98. Она даже в Delphi 7 не декларирована (кстати, непонятно почему - внутри VCL она используется). Поэтому я и привел ее декларацию здесь.
Юзайте свежие выпуски MSDN - они рулез. А SDK из комплекта Delphi - это так, вспомогательный инструмент для быстрой справки по базовым, давно устоявшимся вещам.
Alx2 (2005-06-08 21:36:00) [2]>Юрий Зотов © (08.06.05 21:07)
>GetLongPathName
О ней почему-то нет информации в Windows SDK (идущем в комлекте с D6). Интересно, есть причины? Или я не там ищу?
rolex (2005-06-08 21:17:00) [3]спасибо!
Юрий Зотов (2005-06-08 21:07:00) [4]
function GetLongPathName(lpszShortName: LPCTSTR;
lpszLongName: LPTSTR; cchBuffer: DWORD): DWORD; stdcall;
external kernel32 name 'GetLongPathNameA';
function ShortPathToLongPath(const ShortPath: string): string;
var
Buff: packed array[0..MAX_PATH] of char;
begin
SetString(Result, Buff, GetLongPathName(PChar(ShortPath), Buff, SizeOf(Buff)))
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Caption := ShortPathToLongPath('C:\Progra~1\Common~1\Borlan~1\MSHelp\Win32.hlp')
end;
Alx2 (2005-06-08 20:59:00) [5]GetFullPathName?
EVD (2005-06-08 20:58:00) [6]GetLongPathName + F1