lazarus/components/lazutils/winfileutil.inc
ondrej 3a6697bc77 codetools, lazutils, win32: less hints
git-svn-id: trunk@50822 -
2015-12-15 16:27:39 +00:00

27 lines
674 B
PHP

{%MainUnit fileutil.pas}
function ExtractShortPathNameUTF8(const FileName: String): String;
var
lPathSize: DWORD;
WideFileName, WideResult: UnicodeString;
begin
// WinCE doesnt have this concept
{$ifdef WinCE}
Result := FileName;
{$else}
if Win32MajorVersion >= 5 then
begin
WideFileName := UTF8ToUTF16(FileName);
SetLength(WideResult,Max_Path);
lPathSize := GetShortPathNameW(PWideChar(WideFileName), PWideChar(WideResult), Length(WideResult));
SetLength(WideResult,lPathSize);
Result := UTF16ToUTF8(WideResult);
end
else
Result:=LazUTF8.SysToUTF8(SysUtils.ExtractShortPathName(LazUTF8.UTF8ToSys(FileName)));
{$endif}
end;