Вниз
Скачать: CL | DM;

Снова DOS Path   Найти похожие ветки 

 
AlexanderMS ©   (2006-05-31 16:56) [0]

Я уже задавал здесь такой вопрос: как превратить строку пути в формате DOS (7 букв + тильда ~ в каждой секции) в нормальный виндоузовский путь. Мне предложили GetLongPathName:

> function GetLongPathName(lpszShortPath, lpszLongPath: PChar;
>  cchBuffer: DWORD): DWORD; stdcall; external "kernel32.dll";

- я оставил на потом, а когда попробовал осуществить - ошибка в RunTime: точка входа ... не найдена. Так и не понял. Подскажите, пожалуйста, как?


 
Джо ©   (2006-05-31 17:00) [1]

GetLongPathNameA


 
Джо ©   (2006-05-31 17:02) [2]

Т.е, например, так:

function GetLongPathName(lpszShortPath, lpszLongPath: PChar;
 cchBuffer: DWORD): DWORD; stdcall; external "kernel32.dll" name "GetLongPathNameA"


 
AlexanderMS ©   (2006-05-31 18:16) [3]

Я сделал так:
procedure TWindow.FormActivate(Sender: TObject);
var
 Longpath : PCHar;
begin
 if (paramstr(1) <> "") and (filename = "")
   then
     begin
       filename := paramstr(1);
       GetLongPathName(PChar(filename), LongPath, 0);
       Filename := String(LongPath);
       readfile
     end
   else newfile

end;


Путь нормальный, а имя файла какое-то странное: Lбi вместо generals.csf. Вот и ошибка выдаётся. Как сделать то же с именем файла?


 
begin...end ©   (2006-05-31 18:22) [4]

> AlexanderMS ©   (31.05.06 18:16) [3]

Вы не выделили память для буфера, связанного с LongPath.


 
Джо ©   (2006-05-31 18:24) [5]

Например, так:
var
 Longpath : array [0..MAX_PATH] of Char;

или выделять память динамически через GetMem и освобождать ее FreeMem, когда она уже не нужна.


 
AlexanderMS ©   (2006-05-31 19:22) [6]

Огромное спасибо! Всё получилось!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.036 c
2-1149164860
webpauk
2006-06-01 16:27
2006.06.18
OnPaint


15-1148284383
Юрий Зотов
2006-05-22 11:53
2006.06.18
Простенький вопросец по HTML


1-1147330802
bva
2006-05-11 11:00
2006.06.18
MSWord в Delphi


3-1145610421
RomanH
2006-04-21 13:07
2006.06.18
Управвление триггером в хранимой процедуре


1-1147463679
Kostromich
2006-05-12 23:54
2006.06.18
Анализ содержимого выбраной директории




   Наверх