Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
ВнизПолный путь директории Найти похожие ветки
← →
q1485 (2007-12-15 18:09) [0]Как мне из
C:\DOCUME~1\User\LOCALS~1\Temp\
получить
C:\Documents and Settings\User\Local Settings\Temp\
← →
Denis__ © (2007-12-15 18:15) [1]А откуда ты получил это самое C:\DOCUME~1\User\LOCALS~1\Temp\?
← →
Джо © (2007-12-15 18:18) [2]GetLongPathName
← →
Германн © (2007-12-15 18:27) [3]
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;
← →
q1485 (2007-12-15 18:40) [4]
> А откуда ты получил
Отсюда..function GetTmpPath():string;
var
TempPath: array [0..MAX_PATH] of Char;
begin
GetTempPath(MAX_PATH, TempPath);
Result:=TempPath;
end;
> GetLongFName
Спасибо.
Только не понял идеи, почему первой строчкой Result:=""; а не Result:=FName;
и еще, она доставляет #0 в конце до длины 256 символов..
Result:=TrimRight(Str2) это исправил... так правильно делать?
← →
Leonid Troyanovsky © (2007-12-16 12:07) [5]
> q1485 (15.12.07 18:40) [4]
function GetLongPathName(lpszShortName: LPCTSTR; lpszLongName: LPTSTR;
cchBuffer: DWORD): DWORD; stdcall;
external kernel32 name "GetLongPathNameA";
function GetLongPath(const ShortName: string): string;
var
bytes: Integer;
begin
SetLength(Result, MAX_PATH);
bytes := GetLongPathName(Pointer(ShortName), PChar(Result), MAX_PATH);
Win32Check(bytes <> 0);
SetLength(Result, bytes);
end;
--
Regards, LVT.
← →
Leonid Troyanovsky © (2007-12-16 13:14) [6]
> Leonid Troyanovsky © (16.12.07 12:07) [5]
> SetLength(Result, MAX_PATH);
SetLength(Result, MAX_PATH +1);
Sorry.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c