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

Вниз

Помогите разобраться с RichEdit!   Найти похожие ветки 

 
DimaK   (2005-03-04 12:13) [0]

Привет всем, вот возникла такая проблемка:

procedure TForm1.Button1Click(Sender: TObject);
 var s1: String;
     s2: Char;
begin
 s1:="г";
 s2:=s1[1];
 SendMessage(RichEdit1.Handle, WM_CHAR, Integer(s2), 0);
 SendMessage(Memo1.Handle, WM_CHAR, Integer(s2), 0);
end;

Почему Memo1 выводит все нормально, а RichEdit1 не понимает русскую кодировку?

Вывод типа RichEdit1.Text:=s2; не устраивает, так как сейчас именно так и работает, а надо выводить именно через SendMessage.

Это как-нибуть можно вылечить?

Заранее большое всем спасибо!


 
BlackTr   (2005-03-04 12:15) [1]

А если попробовать в Unicode WM_UNICHAR ?
Может поможет ?


 
Virgo_Style ©   (2005-03-04 12:19) [2]

Даже представить боюсь, что такое Integer(s2)...
Может, Integer(s1[1]) ?


 
clickmaker ©   (2005-03-04 12:22) [3]


>  RichEdit1 не понимает русскую кодировку?

CharSet := RUSSIAN_CHARSET


 
begin...end ©   (2005-03-04 12:25) [4]

> Virgo_Style ©   (04.03.05 12:19) [2]

Вы видите существенную разницу?


 
BlackTr   (2005-03-04 12:29) [5]


>[3] clickmaker ©   (04.03.05 12:22)
> CharSet := RUSSIAN_CHARSET

Не помогает :)
Блин а какой код у WM_UNICHAR ?


 
clickmaker ©   (2005-03-04 12:43) [6]


> BlackTr   (04.03.05 12:29) [5]

при включенной русской раскладке клавиатуры работает


 
DimaK   (2005-03-04 13:21) [7]

В том-то и дело, я забыл написать что при включенной русской раскладке клавиатуры работает, но постоянно переключать раскладку как-то тупо, вот и хочу разобраться в чем дело.
Спасибо всем за участие, может есть еще какие-нибуть предложения.
Я так понимаю что проблема именно в кодировке, вчера целый день провозился, но так и не понял, в какой кодировке это выводится и почему.


 
DimaK   (2005-03-04 15:45) [8]

Вот что в итоге получилось:

procedure TForm1.Button2Click(Sender: TObject);
 var s1: String;
     s2: Char;
begin
 s1:=Edit1.Text;
 AnsiToOEM(PChar(s1), PChar(s1));
 s2:=s1[1];
 RichEdit2.Font.Name:="Terminal";
 RichEdit2.Font.Charset:=OEM_CHARSET;
 RichEdit2.Font.Size:=12;
 SendMessage(RichEdit2.Handle, WM_CHAR, Integer(s2), 0);
 SendMessage(Memo1.Handle, WM_CHAR, Integer(s2), 0);
 Edit1.Clear;
end;

Только шрифт Terminal какой-то глюковатый, может кто знает аналог получше?



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

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

Наверх




Память: 0.46 MB
Время: 0.038 c
1-1109761840
Creator___
2005-03-02 14:10
2005.03.20
ServiceApplication


14-1109225061
КаПиБаРа
2005-02-24 09:04
2005.03.20
Опрос - Клавиатура и грязные лапки :)


4-1107763002
David
2005-02-07 10:56
2005.03.20
Отслеживание запускаемых программ (файлов)


14-1109325132
Cosinus
2005-02-25 12:52
2005.03.20
У Подгорецкого на сайте была статья по работе с битами.


1-1110039402
Leeechhhh
2005-03-05 19:16
2005.03.20
Как выводить свою форму поверх ВСЕХ приложений





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский