Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c