Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

RichEdit и Unicode.   Найти похожие ветки 

 
Юрий К   (2005-01-28 20:46) [0]

Через Copy-Paste в RichEdit заношу Unicode текст (арабский). PlainText := true; Показывает текст RichEdit нормально, вижу арабские каракули в RichEdit окошке.

RichEdit имеет свойства Lines и Text. Можно ли получить доступ к каждой паре байт Unicode символов через них? Кто работал с Unicode текстами в RichEdit? Как смотреть содержимое отображаемого текста? Что-то не понятно пока.

К примеру:
После RichEdit.Lines.SaveToFile получается файл. Если загрузить его по RichEdit.Lines.LoadFromFile, получается полная ерунда.


 
Anatoly Podgoretsky ©   (2005-01-28 20:58) [1]

Ерунда наверно потому что ты делаешь что то неправильно. Или другими словами у тебя ошибка в программе. Нормально сохраняется и загружается.


 
Юрий К   (2005-01-28 21:20) [2]

"Anatoly Podgoretsky"

Мне интересно, каким образом получить доступ к символам?


procedure TForm1.Button1Click(Sender: TObject);
var i, j: Integer; s, sm: String;
begin
 for i := 0 to RE.Lines.Count - 1 do
 begin
   s := RE.Lines[i];
   sm := "";
   for j := 1 to Length(s) do
   begin
     sm := sm + IntToStr(Ord(RE.Lines[i][j])) + " ";
   end;
   Memo.Lines.Add(sm);
 end;
end;


Получаю в Memo следующее:

32 63 63 63 63 63 63 63 63 46

63 63 63 32 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 32 50 48 48 48 32 63 63 63 63 63 32 63 63 32 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 32
63 63 63 63 63 63 63 32 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 32 63 63 63 46 32 63 63 63 63 63 63 32 63 63 63 32 63 63 63 32 63 63 63 32 63 63 63 63 63 63 63 32
63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 32 63 63 63 63 32 63 63 63 32 63 63 32 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 32
63 63 63 63 63 32 63 63 63 63 63 63 58

63 63 63 63 63 63 63 32 58 32 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 32
63 63 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 46 32
63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 58 32 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 32
63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 45 32 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32
63 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 32 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 63 32 63 63 32
63 63 63 63 32 63 63 63 63 63 63 63 63 32
63 63 63 63 63 63 63 63 32 58 32 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 63 32
63 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32
63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 46 32 63 63 63 32 63 63 63 63 32
63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 63 46 32 63 63 63 63 63 63 32 63 63 63 63 63 32
63 63 32 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 46 32
63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 63 63 32 58 32 63 63 32 63 63 32 63 63 32 63 63 63 63 32 63 63 63 63 63 63 63 32
63 63 63 63 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 32 63 63 63 63 32 63 63 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 32
63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 63 32 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 32 63 63 32
63 63 63 63 63 63 63 63 63 46 32 63 63 32 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 63 32
63 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 32 63 63 63 32 63 63 63 63 63 32 63 63 63 32 63 63 63 32 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32
63 63 63 63 63 63 32 63 63 63 63 63 63 63 63 32 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 46 32 63 63 63 32 63 63 63 63 63 63 32
63 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 32 63 63 63 63 63 32 63 63 63 32 63 63 63 32 63 63 63 63 32 63 63 63 63 63 63 32 63 63 63 63 63 63 32
63 63 63 63 63 63 63 32 63 63 63 46 32 63 63 63 63 63 32 63 63 63 63 63 63 63 32 63 63 63 63 63 63 32 63 63 32 63 63 63 63 32 63 63 63 63 63 32 63 63 63 63 63 63 63 63 63 32 63 63 32 63 63 63 32
63 63 63 63 63 63

В RichEdit наблюдаю арабский тект при этом.


 
Юрий К   (2005-01-29 15:54) [3]

Наверное нужно использовать TNTRichEdit - который только для юникод текстов.


 
Anatoly Podgoretsky ©   (2005-01-29 15:59) [4]

TМемо <> TRichEdit
Особенно если учесть, что первый ни в коей мере не поддерживает Юникод, а второй поддерживает.


 
Юрий К   (2005-01-29 16:49) [5]

Anatoly Podgoretsky [4]
"TМемо <> TRichEdit"

Задача для теста (Как раз ветка тут длинная есть по тестированию, вот и навеяло) :

В RichEdit загружен/скопирован юникод текст.
В Мемо нужно распечатать шестнадцатиричное представление данных, которые в RichEdit. Один юникод символ представляется двумя шестнадцатеричными числами, как к примеру по F3 мы видим в WinCmd32, если выбрать в опциях "Hex". То есть примерно выглядеть в Мемо будет так:  1F 04  40 04  38 04  32 04  35 04   42 04, что есть представление слова "Привет".


 
Anatoly Podgoretsky ©   (2005-01-29 17:53) [6]

s типа string, а на текущий момент это ANSI, RE.Lines это также string.


 
Юрий К   (2005-01-30 15:48) [7]

"s типа string, а на текущий момент это ANSI, RE.Lines это также string."

А что мешает в RE.Lines хранить данные вида "1F 04  40 04  38 04  32 04  35 04   42 04", где каждые 2 байта будут заменять один юникод символ. RE.Lines показывает не понятно что. Как же получить доступ к юникод тексту в RichEdit. Только по SendMessage (и как кстати) или есть иной путь, через VCL свойства/методы?



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
8-1098894068
Sonic_gd
2004-10-27 20:21
2005.02.13
Неработает mediaPlayer


14-1106675558
Ломброзо
2005-01-25 20:52
2005.02.13
Электрические библиотеки


14-1106300659
Prepod
2005-01-21 12:44
2005.02.13
литература


4-1103881879
tradakad
2004-12-24 12:51
2005.02.13
ОТображение форму , создаваемой из DLL модально


3-1105622455
syte_ser78
2005-01-13 16:20
2005.02.13
dbcombobox