![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
Siberian GRemlin |
![]() ![]()
Сообщение
#1
|
![]() Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 222 раз(а) ![]() |
Сталкнулся с одной проблемкой. Есть типизированный файл, в котором помимо всего прочего хранятся строчки в юникоде. Как с такими работать я не знаю, пока сделал изврат полнейший:
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) за один присест. Насколько мне известно, это реально... просто я с этим не сталкивался и ламачёк ![]() ![]() |
![]() ![]() |
Xplorer |
![]()
Сообщение
#2
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 52 Регистрация: 4-February 08 Пользователь №: 8 Спасибо сказали: 30 раз(а) ![]() |
Вот, держи заначку для редактора строк: http://slil.ru/22919972
|
![]() ![]() |
Упрощённая версия | Сейчас: 30th April 2025 - 20:37 |