Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как из unsigned char получить AnsiString?

249
20 апреля 2007 года
DissDoc
639 / / 01.10.2004
Хочу в сообщение запихнуть псевдографику. Так вот, что нужно для этого? Вот что мне требуется
 
Код:
unsigned char cur = 16;
//... тут делаем какие-то преобразования
ShowMessage(полученная_строка_из_cur); // в результате получили в сообщении стрелочку

Как это сделать?
14K
20 апреля 2007 года
Azur
27 / / 17.08.2006
Я бы сделал модальное окошко...
249
20 апреля 2007 года
DissDoc
639 / / 01.10.2004
Мне по сути все равно где будет выводиться, мне нужен факт преобразования кода символа в сам символ через AnsiString
497
20 апреля 2007 года
IL84
267 / / 24.04.2003
Функция CHR();
249
20 апреля 2007 года
DissDoc
639 / / 01.10.2004
Странно, нет такой функции...
4
20 апреля 2007 года
mike
3.7K / / 01.10.2002
Преообразовть char* в AnsiString можно, например, вот так:

 
Код:
unsigned char *s="aaa";
AnsiString a;
a.printf("%s",s);
ShowMessage(a);


Псевдографика все равно не отобразится, так как она есть только в DOS'овской кодировке. В cp1251 ее нет.
1
20 апреля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: DissDoc
Странно, нет такой функции...


Во первых, поиск юзать надо. Для того что бы отобразить псевдо тебе нужно разместить компонент на форме наприм лейбл или куда ты будешь ее выводить и установить шрифт для него Terminal. Дальше такой код:

 
Код:
char buff1[32],buff[32];
FillMemory(buff1,32,16);
CharToOem(buff1,buff);
Label1->Caption = buff;

Через ShowMessage просто так вывести не получится.
10
20 апреля 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: kot_
Через ShowMessage просто так вывести не получится.


Про Юникод не забыли? Псевдографика есть в Юникоде. Только вот вывести его через обычный ShowMessage не получится, а через MessageBoxW - запросто.

92
20 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
Цитата: DissDoc
Странно, нет такой функции...


есть chr(); - маленькими буквами

1
20 апреля 2007 года
kot_
7.3K / / 20.01.2000
Цитата: Freeman
Про Юникод не забыли? Псевдографика есть в Юникоде. Только вот вывести его через обычный ShowMessage не получится, а через MessageBoxW - запросто.


Нет не забыли. Проблема для автора может возникнуть в том случае, если понадобится вывод в какойлибо компонент в шестой версии. Если требуется только вывод сообщения то в принципе тогда юникод найболее оптимально.

9.5K
26 апреля 2007 года
zergman
53 / / 09.11.2006
Может я не понял чего требуется, но вот как получить AnsiString из unsigned char:
 
Код:
unsigned char buff=0x0F;
AnsiString buff2 = "";
buff2 += (char)("0x"+IntToHex((int)buff,2).ToInt());

чтото в этом роде...
309
27 апреля 2007 года
el scorpio
1.1K / / 19.09.2006
Мама дорогая :eek:
zergman, у нас тут что - чемпионат по запутанному программированию?

Если разговор пошёл про Юникод, то нужно использовать класс WideString - 16-битный аналог AnsiString с меньшими возможностями.
Строковые константы для этого кодируются с префиксом L, либо в виде "\x" кодов. Хотя простой текст из русских и английских букв пишется как обычно - перевод из const char* в WideString выполняется конструктором класса без ошибок.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог