Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 6.21 Конвертация в двухбайтовый Unicode

Страниц (1): [1]
 

1. Kibor - 25 Ноября, 2024 - 15:59:43 - перейти к сообщению
CODE:
char p[40]; //20*2
int e=ansitounicode(#p[0], "Кодировать в Unicode");


Первый параметр, указатель на массив char, в котором будет юникод.
Объявлять в 2 раза длиннее размера текста.
Второй параметр - текст, который надо преобразовать в юникод.

Возвращает количество байт в юникоде. В двое больше чем в ansi
2. Zireael - 25 Ноября, 2024 - 17:02:25 - перейти к сообщению
Что-то не то записывается.
CODE:
external(INT, "MessageBox", "MessageBoxW", "User32.dll");
char p[40];
ansitounicode(#p[0], "АБВ");
MessageBox(gethwnd(), address(#p[0]), address(#p[0]), 0);

Должно быть так:
CODE:
external(INT, "MessageBox", "MessageBoxW", "User32.dll");
char s[8] = {16, 4, 17, 4, 18, 4, 0, 0}; // АБВ в Unicode
MessageBox(gethwnd(), address(#s[0]), address(#s[0]), 0);
3. Kibor - 25 Ноября, 2024 - 22:16:54 - перейти к сообщению
Исправил
CODE:
external(INT, "MessageBox", "MessageBoxW", "User32.dll");
char p[500];
initialarray(#p[0], 0);
ansitounicode(#p[0], "Аа, Бб, Вв, Гг, Дд, Ее, Ёё, Жж, Зз, Ии, Йй, Кк, Лл, Мм, Нн, Оо, Пп, Рр, Сс, Тт, Уу, Фф, Хх, Цц, Чч, Шш, Щщ, Ъъ, Ыы, Ьь, Ээ, Юю, Яя - Aa, Bb, Cc, Dd, Ee, Ff, Gg, Hh, Ii, Jj, Kk, Ll, Mm, Nn, Oo, Pp, Qq, Rr, Ss, Tt, Uu, Vv, Ww, Xx, Yy, Zz");
MessageBox(gethwnd(), address(#p[0]), address(#p[0]), 0);

Powered by ExBB FM 1.0 Final