Кириллические символы в кодировке CP866 (под каждый символ отводится один байт).
Последний символ в строке нулевой 00h.
Как их считать в String (UTF8) ?
То есть нужна функция PointerToStringCyrillic.
Латиницу смог победить вот так:
- Код: Выделить всё
function PointerToString(p : pointer) : string;
var
i : longint;
tmp_s : string;
out_s : string;
begin
i:= 1;
out_s:= '';
tmp_s:= string(p);
while tmp_s[i] <> #00 do
begin
out_s:= out_s + tmp_s[i];
inc(i);
end;
PointerToString:= out_s;
end;