Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Текст в RxRichEdit   Найти похожие ветки 

 
sharik_212   (2004-08-10 21:38) [0]

Господа, подскажите, как получить правильный русский текст из определенной строки в RxRichEdit. Проблемма в том, что в тексте "просто текст text", а если написать Form1.Caption:=RxRichEdit1.Lines[7], то заголовок формы станет ?????? ????? text, т.е. вместо кириллицы знаки вопросов. RxRichEdit1.Lines.Strings[7] дают тот-же результат. Помогите, пожалуйста.
Заранее огромное спасибо.


 
Dec   (2004-08-10 22:04) [1]

Попробуй поставить PlainText в false


 
sharik_212   (2004-08-10 22:19) [2]

увы...


 
begin...end ©   (2004-08-10 22:22) [3]

Может, со шрифтами что-то? Charset?


 
Кириешки ©   (2004-08-10 22:26) [4]

А что это за компонент такой RxRichEdit?
Вот с обычным RichEdit все работает нормально. :)

А может помочь обычное присвоение значения переменной например :

var
s : pchar;
begin
s := pchar( RxRichEdit1.Lines.Strings[7]);
Form1.caption := s;
end;

поробуй, может получится.


 
wnew ©   (2004-08-11 00:23) [5]

С TRichEdit в этом отношении великая проблема. Под Windows 9x и ME установка свойства CharSet в RUSSIAN_CHARSET действует безупречно, но под виндами с Win2K и выше изменение CharSet ни к чему не приводит. Есть выход - использовать специальные шрифты, к примеру: PROMT Helv Cyr Spec, но это, к сожалению, в некоторой степени будет ограничивать пользователя и кроме того, не знаю, как в этом случае с лицензией на шрифт.
  Недавно прочитал, что можно использовать один трюк: выводить текст в поток, а от туда копировать функциями буфера обмена.

  Я пытался разобраться в исходниках TRichEdit: прикольно то, что TMemo и TRichEdit оба наследуются от TCustomMemo, но TMemo корректно реагирует на установку свойства SetChar в RUSSIAN_CHARSET. Есть ещё модуль RichEdit - вот тут для меня всё запутанно, не могу уловить где собака зарыта, но кажется, что всё, всё-таки, уходит в Windows.
  Есть ещё система обучающая дельфийские контролы понимать Unicode - посмотрите здесь: http://tnt.ccci.org/delphi_unicode_controls/ я тоже ещё не испытывал этого, но собираюсь. Пока нет времени, завтра улетаю в отпуск:-)


 
wnew ©   (2004-08-11 00:25) [6]


> wnew ©   (11.08.04 00:23) [5]

Эта проблема актуальна для виндов с не русскими региональными настройками.


 
wnew ©   (2004-08-11 01:22) [7]


> wnew ©   (11.08.04 00:23) [5]
> Недавно прочитал, что можно использовать один трюк: выводить
> текст в поток, а от туда копировать функциями буфера обмена.

Нет не так. Сейчас нашёл снова беседу об этой проблеме. Там показывается трюк: текст, который в RichEdit, отображён кракозябрами, копируется из RichEdit в Stream, потом из него загружается в Memo, далее из Memo снова в Stream и на конец из Stream снова в RichEdit и прикол - RichEdit отображает кириллицу, как положено. Вот приведёный там код:

procedure TForm1.Button1Click(Sender: TObject);
begin
 RichEdit1.Clear;
 RichEdit1.Font.Charset := RUSSIAN_CHARSET;
 RichEdit1.Lines.Add("Çäðàâñòâóëòå!");  // Здравствуйте!
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 Stream: TStringStream;
begin
 Stream := TStringStream.Create(EmptyStr);
 try
   RichEdit1.Lines.SaveToStream(Stream);
   Memo1.Text := Stream.DataString;
 finally
   Stream.Free;
 end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
 Stream: TStringStream;
begin
 Stream := TStringStream.Create(Memo1.Text);
 try
   RichEdit1.Lines.LoadFromStream(Stream);
 finally
   Stream.Free;
 end;
end;

http://www.delphipraxis.net/topic30840_verschiedene+zeichensaetze+in+einer+anwendung.html&sid=39b9a2d200b8efcd1dd6660f2d 4adcf8


 
TUser ©   (2004-08-11 02:37) [8]

Не знаю, как там с Rx, но TJvRichEdit в W2K работает нормально.


 
wnew ©   (2004-08-11 03:30) [9]

Всё! Установил я себе TntUnicodeControl. Класс! Безупречно. Теперь всё равно на каком языке создавать приложение. Проверил TTntRichEdit - здорово, разумеется нужно использовать Unicode. Если, к примеру файл сохранён в Ansi, то нужно функцией StringToWideChar(const Source: string; Dest: PWideChar; DestSize: Integer): PWideChar; преобразовать в Unicode.



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

Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
14-1092076541
Piter
2004-08-09 22:35
2004.08.29
Помогите с выбором насчет компьютера


1-1092663189
Hermes
2004-08-16 17:33
2004.08.29
Как убрать символы #13#10


14-1092303585
SiJack
2004-08-12 13:39
2004.08.29
Незаметили что доллар как то расти начал?


6-1088184010
Снифер
2004-06-25 21:20
2004.08.29
NLO


14-1092041178
inic
2004-08-09 12:46
2004.08.29
В Delphi была горячая клавиша для вставки в редактор





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский