| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > ввод unicode-символов в Edit |
| Автор: Lexxx_HU 12.11.2007, 20:22 |
| по форуму были похожие темы.. но именно такого не нашел ... как можно сделать так чтоб в EDIT можно было вводить уникод символы ... например символы в немецком языке , когда сверху прсутствуют "весечки" - áüöúőá и т.д. когды пытаюсь ввести эти символы.. то они просто отображаются без весечек |
| Автор: Ak47black 12.11.2007, 21:28 |
| Попробуй Font->Name шрифт поменяй. Может подойдет. Не все шрифты поддерживают все буквы. |
| Автор: Lexxx_HU 12.11.2007, 22:32 |
| пробывал изменить, но ничего не изменилось может нужно какой нибудь модуль подключить ? никто не сталкивался с такой проблемой ? |
| Автор: aktuba 12.11.2007, 23:16 |
| Никак. TEdit поддерживает только анси-кодировку. |
| Автор: EvilsInterrupt 13.11.2007, 07:17 |
| Lexxx_HU, Логику мог бы построить сам. Ты ведь знаешь, что если компонент юзает string то это может быть или AnsiString или ShortString все в зависимости от одной настройки в проекте. Выходит что если компонент юзает только эти два типа строк, то как в него можно запихнуть UNICODE-символ? Я думаю только UTF-8-символ можно, но и то не уверен за корректность отображения ;) |
| Автор: Alexeis 13.11.2007, 11:01 |
| Lexxx_HU, попробуйте подобрать чарсет для немецких букв Font->Charset . Добавлено через 7 минут и 7 секунд Кто сказал что ANSI не позволяет выводить немецкий язык? Немецкий и русский в одной строке не может, а немецкий-английский легко. |
| Автор: Alexeis 13.11.2007, 11:26 | ||
Вот например так
код #252 мне пришлось поставить так как у меня нет немецкой раскладки, а немцы смогут вставлять как обычный текст. |
| Автор: Lexxx_HU 13.11.2007, 12:07 | ||||
Спасибо за идею .. но все равно вместо символов ввводятся символы без весечек .. может это как то связано с настрйками языков в самом Windows ? |
| Автор: Snowy 13.11.2007, 12:41 |
| Смени фонт на Tahoma. Если у тебя 7-я дельфя или ниже, то по умолчанию стоит Serif. А он не поддерживает языки. Выбери Tahoma и нужную локаль. |
| Автор: MetalFan 13.11.2007, 12:43 |
| upd:аа) нечитайте это сообщение) фигню сморозил) later: встал однажды вопрос, потребовался ввод юникода. решил таким образом: TRichEdit + SendMessageW/Get(Set)WindowTextW |
| Автор: EvilsInterrupt 13.11.2007, 12:57 |
| MetalFan, +1 ! |
| Автор: Lexxx_HU 13.11.2007, 15:59 | ||
что то не совсем понял эту идею можно пожалуйста поподробней |
| Автор: Bose 13.11.2007, 18:45 |
| Lexxx_HU, используй какой-нибудь эдит поддерживающий юникод, и будет тебе счастье. Например: tntEdit(из tntUnicodeControls), или на худой конец, RichEdit. |
| Автор: Lexxx_HU 13.11.2007, 23:43 | ||
спасибо громадное за наводку получилось .. только не совсем все .. скачал этут бибиотеку .. установил все компоненты .. сделал пробную форму .. кидаю на нее TntEdit поменял у него свойство Form1.TntEdit1.Font на Tahoma Form1.TntEdit1.Charset - по умолчанию запускаю проект .. пытаюсь ввести символы сразу скажу что ракладка клавиатуры венгерская... на фото видно что ввожу и что вводится ... почему то только некоторые символы корректно отображаются в чем может быть проблема ? http://imageshack.us |
| Автор: Lexxx_HU 18.11.2007, 10:50 |
| народ ... ну что .. так никто до конца не сможет помочь ? |
| Автор: Bose 20.11.2007, 19:21 |
да кто его знает в чём проблема-то. Попробуй следующее: 1) ввести тем же шрифтом те же буквы, например, в Word'е. Если не получится - вероятно проблема в самом шрифте. 2) Попробуй кидать TntEdit не на Tform - а на TTntForm. (наугад предполагаю) |