![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
D:\Sabre~1.html -> D:\Sabretui345.html
DDA © (2004-02-08 16:33:00)Подскажите как преобразовать досовский путь в полный
Видел где-то здесь ответ раньше но сейчас несмог найти
Германн (2004-02-09 17:56:00) [1]
function GetLongFName(FName: String): String;
var
Str2: String;
GetLongPathName: Function (ShortPathName: PChar; LongPathName: PChar;
cchBuffer : Integer): Integer Stdcall;
Handle : THandle;
begin
Result:='';
GetLongPathName:=nil;
SetLength(Str2,256);
Handle:=GetModuleHandle('kernel32.dll');
if Handle = 0 then exit;
@GetLongPathName := GetProcAddress(Handle, 'GetLongPathNameA');
if Assigned(GetLongPathName) and (GetLongPathName(PChar(FName),PChar(Str2),256) <> 0)
then Result:=Str2;
end;
Anatoly Podgoretsky (2004-02-09 15:40:00) [2]DDA © (08.02.04 18:34) [4]
Кроме того путь у тебя D:\
Anatoly Podgoretsky (2004-02-09 15:39:00) [3]SetCurrentDir/GetCurrentDir
VMcL (2004-02-09 15:33:00) [4]>>DDA © (08.02.04 18:34) [4]
Рекурсию никто не отменял.
DDA (2004-02-08 18:34:00) [5]
> MBo © (08.02.04 17:56) [3]
> FindFirst + WIN32_FIND_DATA
Дак там же только имя файла а мне нужен ещё и путь
MBo (2004-02-08 17:56:00) [6]FindFirst + WIN32_FIND_DATA
DDA (2004-02-08 17:13:00) [7]Попробывал так,не получилось
procedure TForm1.Button1Click(Sender: TObject);
var p:PChar;
Buffer: array [0..MAX_PATH - 1] of Char;
begin
GetFullPathName(pchar('D:\SABRE_~1.DDC'),sizeof(buffer),buffer,p);
ShowMessage(p);
end;
в переменной p возвращается SABRE_~1.DDC'
Дак как же преобразовать-то?
Palladin (2004-02-08 16:40:00) [8]GetFullPathName