![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Integer to widechar [D7, WinXP]
stanislav © (2007-08-22 11:01:00)Подскажите пожалуйста как преобразовать Integer в WideChar
stanislav (2007-08-22 14:11:00) [1]Сергей М. © (22.08.07 13:27) [33]
Это выход. Спасибо за совет!
clickmaker © (22.08.07 13:22) [31]
umbra © (22.08.07 13:29) [34]
Спасибо, посмотрю!
umbra (2007-08-22 13:29:00) [2]вот, нашел - http://mh-nexus.de/tntunicodecontrols.htm
Сергей М. (2007-08-22 13:27:00) [3]
> stanislav
Городить огород со сторонними компонентами для такой тривиальной задачи вряд ли уместно.
Берется обычный TDrawGrid и в его ячейки выводится юникод-текст средствами [Ext]TextOutW.
Работы на час.
umbra (2007-08-22 13:24:00) [4]
> TNT Unicode Controls - Это набор компонент, а где их скачать?
>
>
http://www.tmssoftware.com/go.asp?tmsuni
только они теперь платные стали. Может где-то еще старые версии найти можно.
clickmaker (2007-08-22 13:22:00) [5]http://www.tntware.com/delphicontrols/unicode/
stanislav (2007-08-22 12:56:00) [6]clickmaker © (22.08.07 12:27) [28]
TNT Unicode Controls - Это набор компонент, а где их скачать?
Сергей М. (2007-08-22 12:28:00) [7]
> справки нет
Метод научного тыка я не приветствую)
clickmaker (2007-08-22 12:27:00) [8]
> где же взять грид чтобы отображал юникод?
а в TNT Unicode Controls нету?
stanislav (2007-08-22 12:26:00) [9]A:=WideChar(Symbol);
B:=A;
Где B WideString Возвращает '?'. Хотя тип колонки WideString
в SetValue () 3-й параметр типа Variant, скорее всего преобразование неправильно работает.
Сергей М. © (22.08.07 12:16) [25] - справки нет.
Вобщем понятно что проблема с гридом.
Всем спасибо что помогли.
А где же взять грид чтобы отображал юникод?
stanislav (2007-08-22 12:17:00) [10]clickmaker © (22.08.07 12:12) [23]
Наверное действительно дело в гриде. Пишет 911.
Сергей М. (2007-08-22 12:16:00) [11]
> stanislav © (22.08.07 12:12) [22]
Тогда приведи полную выдержку из справки к методу SetValue()
DevilDevil (2007-08-22 12:13:00) [12]может так...
WideChar := WideString(IntToStr(Integer))[1];
clickmaker (2007-08-22 12:12:00) [13]var
W: Word;
WC: WideChar;
S: array[0..1] of WideChar;
begin
W := $38F;
WC := WideChar(W);
S[0] := WC;
S[1] := #0;
MessageBoxW(Handle, S, 'Hi', 0);
нормально показывает букву Омегу U+038F
а символа с кодом 2337 в character map не нашел
stanislav (2007-08-22 12:12:00) [14]Сергей М. © (22.08.07 12:10) [19]
в stanislav © (22.08.07 11:45) [11] возвращает набор символов.
umbra (2007-08-22 12:11:00) [15]
> Все равно пишеться значение переменной Symbol, т.е. цифра
тогда, наверное, дело в гриде.
stanislav (2007-08-22 12:11:00) [16]clickmaker © (22.08.07 12:01) [17]
wsprintf - у меня только 2 параметр StrOut и Format
Сергей М. (2007-08-22 12:10:00) [17]
> stanislav © (22.08.07 12:01) [18]
> Ок число
И ты уверен, что это число представляет собой код некоего символа в юникодовой кодировке ?
stanislav (2007-08-22 12:01:00) [18]Сергей М. © (22.08.07 11:59) [16]
:-)
Ок число.
clickmaker (2007-08-22 12:01:00) [19]
> Все равно пишеться значение переменной Symbol, т.е. цифра
странно...
а если так?
wsprintf(strOut, '%C', symbol)
Сергей М. (2007-08-22 11:59:00) [20]
> значение переменной Symbol, т.е. цифра
"цифра" не может быть значением какой бы то ни было переменной.
Значением переменной, в дан.сл. типа Word, может быть число.