На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / Как получить длинное имя файла или каталога, зная короткое имя? Сделать домашней страницей Добавить в избранное Написать писмо

Как получить длинное имя файла или каталога, зная короткое имя?


Используйте Win32_Find_Data поле TSearchRec.
Пример:

procedure TForm1.Button1Click(Sender: TObject);
var
SearchRec : TSearchRec;
Success : integer;
begin
Success := SysUtils.FindFirst('C:\DownLoad\dial-u~1.htm',
                faAnyFile,
                SearchRec);
if Success = 0 then begin
    ShowMessage(SearchRec.FindData.CFileName);
end;
SysUtils.FindClose(SearchRec);
end;


Источник: Дельфи. Вокруг да около.

И пример от Andrey Klimov

function ShortToLongPath(const ShortName: string): string;
var
LastSlash: PChar;
TempPathPtr: PChar;
strTmp: string;
begin
Result := '';
TempPathPtr := PChar(ShortName);
LastSlash := StrRScan(TempPathPtr, '\');
while LastSlash <> nil do begin
strTmp := ShortToLongFileName(TempPathPtr);
if strTmp <> '' then
begin
Result := '\' + strTmp + Result;
if LastSlash <> nil then begin
LastSlash^ := char(0);
LastSlash := StrRScan(TempPathPtr, '\');
end;
end
else
LastSlash := nil;
end;
Result := TempPathPtr + Result;
end;



Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz