| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Юникод в Дельфи |
| Автор: nicka 12.5.2004, 14:15 |
| Работаю в Дельфи7, скажите, кто знает, есть ли какая проблема у Дельфи с юникодами, я хочу хранить данные в базе в Юникод шрифте, помню, раз уже пробовала выводить такие данные на форму Дельфи, выходили одни вопросы Кто чего знает, выкладывайте, а то мне словарик делать, там без юникодов никак! 3 поля ввода для каждого языка соответственно - это слишком! |
| Автор: <Spawn> 12.5.2004, 18:16 |
| Свойство Font настрой корректно, особенно удели внимание Charset-у |
| Автор: nicka 13.5.2004, 21:12 |
| Шрифт я поставила нужный - Sylfaen, а вот Charset ... А какая Charset должна стоять при шривтах Юникодов ? По умолчанию стоит Default Charset - и не показывает, я просмотрела список доступных Charset, ничего похожего на нужное мне вроде нет, Анси - ясно не для этого, Наверное что-то вроде Unicode Charset должно быть, но нету, а остальные явно либо руссике, либо японские , либо еще какие-то национальные, так откуда взять нужную Charset? |
| Автор: Петрович 14.5.2004, 07:52 |
| Насколько я знаю, Delphi не позволяет в визуальных компонентах использовть UNICODE. А именно, свойство Text у VCL-компонент имеет тип String а не WideString, а по сему, оно не может содержать строку в кодировке UNICODE. Это печально, но факт. |
| Автор: p0s0l 14.5.2004, 09:50 |
| Ну дак надо перед выводом на форму перевести Unicode в AnsiString... (goto FAQ) |
| Автор: nicka 14.5.2004, 12:57 | ||
а слабо пример дать? значить Charset тут не причем? какой стоит такой и оставить? |
| Автор: <Spawn> 14.5.2004, 13:05 |
| Смотри хелп по MultiByteToWideChar, StringToWideChar. Кхм, странно, но я думал, что чарсет поможет - у меня в 2003 ей винде помогло когдато, не думаю что в ней не Unicode кодировка. Хотя особо в этом не разбирался(нужно будет на досуге посвятить этому некоторое время) |
| Автор: Петрович 14.5.2004, 21:35 | ||
Это смотря что надо получить в результате. Например, если хочется что-бы в tEdit'е одновременно присутствовали символы из разных CHARSET'ов, то это возможно только при работе в UNICODE. Если-же такое не требуется, то тогда как и сказано, достаточно использовать преобразование WideString ↔ AnsiString, ну и переключать соответственно CHARSET. |
| Автор: Jack_Lovng (JL) 4.10.2004, 15:45 |
| Как можно определять, какую группу Unicode я хочу сейчас исползьовать для вывода символов. Например, я хочу выводить группу математических знаков или другими словами узнать, какие символы хранятся в группе математических знаков уникода? Вообще, какие группы есть у юникода? По английски, термин "Юникодовские группы", звучит так "Unicode Subset Bitfields". Конечно, я могу записать все кодовые диапазоны, из существующей в инете таблицы, всех групп себе на листик, а потом это все переписать в свою программу и тогда только буду знать, каким группам принадлежать какие диапазоны кодов. Но ведь функция для этого наверняка есть уже в API? Подскажите, профессионалы... Евгений |
| Автор: Guest 4.10.2004, 15:52 |
| Подсказка по выводу в TEdit юникода или в любой другой компонент TPanel, TRichEdit, TLabel, TCmboBox и многие другие: есть компонент, называется TNT_Unicode. Он содержит все аналоги стандартных компонент Делфи, но с поддержкой юникода. А так у вас ничего не выйдет. Если лень найти компонент в инете (http://tnt.ccci.org/delphi_unicode_controls/)- он в свободной доступе, то пишите мне на мыло. И желательно, поищите ответ на мой вопрос - указанный выше. Евгений |