В общем есть весьма корявый код:
- Код: Выделить всё
Profi2Uni: array [128..255] of string = (
'░','▒','▓','│','┤','╡','╢','╖','╕','╣','║','╗','╝','╜','╛','┐',
'└','┴','┬','├','─','┼','╞','╟','╚','╔','╩','╦','╠','═','╬','╧',
'╨','╤','╥','╙','╘','╒','╓','╫','╪','┘','┌','█','▄','▌','▐','▀',
'α','β','γ','π','Σ','σ','μ','τ','Φ','Θ','Ω',' ',' ',' ','Є','∩',
'ю','а','б','ц','д','е','ф','г','х','и','й','к','л','м','н','о',
'п','я','р','с','т','у','ж','в','ь','ы','з','ш','э','щ','ч','ъ',
'Ю','А','Б','Ц','Д','Е','Ф','Г','Х','И','Й','К','Л','М','Н','О',
'П','Я','Р','С','Т','У','Ж','В','Ь','Ы','З','Ш','Э','Щ','Ч','Ъ');
function ToUnicode (const OriginalTxt: TBytes; ConvertTbl: array of string): string;
var
i: integer;
begin
Result:='';
for i:=0 to High(OriginalTxt) do
if OriginalTxt[i]<$80 then Result:=Result+Ansichar(OriginalTxt[i])
else Result:=Result+ConvertTbl[(OriginalTxt[i]-$80)];
end;
Использую так:
- Код: Выделить всё
Memo1.Text:=ToUnicode(OriginalBytes,Profi2Uni);
В принципе работает, только уж очень медленно!
Что можете посоветовать?