unsigned char cur = 16;
//... тут делаем какие-то преобразования
ShowMessage(полученная_строка_из_cur); // в результате получили в сообщении стрелочку
Как из unsigned char получить AnsiString?
Код:
Как это сделать?
Я бы сделал модальное окошко...
Мне по сути все равно где будет выводиться, мне нужен факт преобразования кода символа в сам символ через AnsiString
Функция CHR();
Странно, нет такой функции...
Код:
unsigned char *s="aaa";
AnsiString a;
a.printf("%s",s);
ShowMessage(a);
AnsiString a;
a.printf("%s",s);
ShowMessage(a);
Псевдографика все равно не отобразится, так как она есть только в DOS'овской кодировке. В cp1251 ее нет.
Цитата: DissDoc
Странно, нет такой функции...
Во первых, поиск юзать надо. Для того что бы отобразить псевдо тебе нужно разместить компонент на форме наприм лейбл или куда ты будешь ее выводить и установить шрифт для него Terminal. Дальше такой код:
Код:
char buff1[32],buff[32];
FillMemory(buff1,32,16);
CharToOem(buff1,buff);
Label1->Caption = buff;
FillMemory(buff1,32,16);
CharToOem(buff1,buff);
Label1->Caption = buff;
Через ShowMessage просто так вывести не получится.
Цитата: kot_
Через ShowMessage просто так вывести не получится.
Про Юникод не забыли? Псевдографика есть в Юникоде. Только вот вывести его через обычный ShowMessage не получится, а через MessageBoxW - запросто.
Цитата: DissDoc
Странно, нет такой функции...
есть chr(); - маленькими буквами
Цитата: Freeman
Про Юникод не забыли? Псевдографика есть в Юникоде. Только вот вывести его через обычный ShowMessage не получится, а через MessageBoxW - запросто.
Нет не забыли. Проблема для автора может возникнуть в том случае, если понадобится вывод в какойлибо компонент в шестой версии. Если требуется только вывод сообщения то в принципе тогда юникод найболее оптимально.
Код:
unsigned char buff=0x0F;
AnsiString buff2 = "";
buff2 += (char)("0x"+IntToHex((int)buff,2).ToInt());
AnsiString buff2 = "";
buff2 += (char)("0x"+IntToHex((int)buff,2).ToInt());
чтото в этом роде...
zergman, у нас тут что - чемпионат по запутанному программированию?
Если разговор пошёл про Юникод, то нужно использовать класс WideString - 16-битный аналог AnsiString с меньшими возможностями.
Строковые константы для этого кодируются с префиксом L, либо в виде "\x" кодов. Хотя простой текст из русских и английских букв пишется как обычно - перевод из const char* в WideString выполняется конструктором класса без ошибок.