Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Юникод в Дельфи


Автор: nicka 12.5.2004, 14:15
Работаю в Дельфи7,

скажите, кто знает, есть ли какая проблема у Дельфи с юникодами, я хочу хранить данные в базе в Юникод шрифте, помню, раз уже пробовала выводить такие данные на форму Дельфи,
выходили одни вопросы tounge.gif

Кто чего знает, выкладывайте, а то мне словарик делать, там без юникодов никак!
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
Цитата
Ну дак надо перед выводом на форму перевести Unicode в AnsiString... (goto FAQ)
,

а слабо пример дать?


значить Charset тут не причем? какой стоит такой и оставить?


Автор: <Spawn> 14.5.2004, 13:05
Смотри хелп по MultiByteToWideChar, StringToWideChar.

Кхм, странно, но я думал, что чарсет поможет - у меня в 2003 ей винде помогло когдато, не думаю что в ней не Unicode кодировка. Хотя особо в этом не разбирался(нужно будет на досуге посвятить этому некоторое время)

Автор: Петрович 14.5.2004, 21:35
Цитата
Ну дак надо перед выводом на форму перевести Unicode в AnsiString... (goto FAQ)

Это смотря что надо получить в результате. Например, если хочется что-бы в tEdit'е одновременно присутствовали символы из разных CHARSET'ов, то это возможно только при работе в UNICODE. Если-же такое не требуется, то тогда как и сказано, достаточно использовать преобразование WideString ↔ AnsiString, ну и переключать соответственно CHARSET.


Автор: Jack_Lovng (JL) 4.10.2004, 15:45
qstn.gif
Как можно определять, какую группу Unicode я хочу сейчас исползьовать для вывода символов. Например, я хочу выводить группу математических знаков или другими словами узнать, какие символы хранятся в группе математических знаков уникода? Вообще, какие группы есть у юникода? По английски, термин "Юникодовские группы", звучит так "Unicode Subset Bitfields". Конечно, я могу записать все кодовые диапазоны, из существующей в инете таблицы, всех групп себе на листик, а потом это все переписать в свою программу и тогда только буду знать, каким группам принадлежать какие диапазоны кодов. Но ведь функция для этого наверняка есть уже в API?
Подскажите, профессионалы...
wink.gif
Евгений

Автор: Guest 4.10.2004, 15:52
thumbs-up.gif
smile.gif biggrin.gif
Подсказка по выводу в TEdit юникода или в любой другой компонент TPanel, TRichEdit, TLabel, TCmboBox и многие другие:
есть компонент, называется TNT_Unicode. Он содержит все аналоги стандартных компонент Делфи, но с поддержкой юникода.
А так у вас ничего не выйдет.
Если лень найти компонент в инете (http://tnt.ccci.org/delphi_unicode_controls/)- он в свободной доступе, то пишите мне на мыло.
И желательно, поищите ответ на мой вопрос - указанный выше.

Евгений

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)