Работа с юникодовой строкой в типизированном файле, как правильно считывать и записывать |
Добро пожаловать, гость ( Вход | Регистрация )
Работа с юникодовой строкой в типизированном файле, как правильно считывать и записывать |
Siberian GRemlin |
Jul 5 2006, 06:46
Сообщение
#1
|
Advanced Member Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) |
Сталкнулся с одной проблемкой. Есть типизированный файл, в котором помимо всего прочего хранятся строчки в юникоде. Как с такими работать я не знаю, пока сделал изврат полнейший:
CODE for j:=1 to Header.NameArr[i].StringLenght do begin Mstr.ReadBuffer(c,1); Mstr.ReadBuffer(x,1); if x=4 then begin if c=01 then begin c:=$A8; Header.StringsArr[i][j]:=chr(c); end else if c=$51 then begin c:=$B8; Header.StringsArr[i][j]:=chr(c); end else Header.StringsArr[i][j]:=chr(c+$B0); end else Header.StringsArr[i][j]:=chr(c); end; StringGrid1.Cols[1].Strings[i]:=Header.StringsArr[i]; Тут у меня обрабатываются только латиница и кириллица, а юникод понятно дело только им не ограничивается. Если с первого взгляда непонятно, то поясняю, два байта на один символ, если первый четвёрка, то это кириллица, иначе работаем как с латиницей. В кириллице там еще два случая, с 'Ё' и 'ё'. Может, кто подскажет как правильно считать строку в string (естественно, который расширенный, не стандартный ANSII) за один присест. Насколько мне известно, это реально... просто я с этим не сталкивался и ламачёк |
Упрощённая версия | Сейчас: 10th November 2024 - 14:58 |