Página 1 de 1

C++ Builder com campo em hexadecimal

MensagemEnviado: 30 Jul 2007 14:59
por Junior_C
Olá, sou iniciante em C++, estou com um problema, recebo os dados da serial e armazeno em uma Memo, consigo visualizar os dados no formulario em formato de caracteres, como faço para visualizar em Hexadecimal no formulario?, e preciso enviar os dados em hexadecimal tambem estou enviando em formato caracter, os dados que estão a serem enviados digito em uma caixa Memo tb, alguem tem alguma sugestão de como fazer essa conversão?

MensagemEnviado: 30 Jul 2007 15:13
por helton
Código: Selecionar todos

                int value = 0x0A;
                this->Memo1->Lines->Add("0x" + IntToHex(value,2));


MensagemEnviado: 30 Jul 2007 15:31
por Junior_C
Estou fazendo assim

Form1->Memo2->Text = StrTeste;

StrTeste é a string com os caracteres recebidos, e Memo2 o campo onde visualiza a string

Para visualizar em Hexadecimal seria assim?

Form1->Memo2->Lines = StrTeste;

MensagemEnviado: 31 Jul 2007 12:21
por chipselect
quando receber um caracter pela serial, em vez de adicionar diretamente na string, converte ela para hexa, usando sprintf e "0x%02X "

ficaria assim:

AnsiString tmp; //variavel temporaria pra deixa o exemplo simples
tmp.sprintf("0x%02X ", (unsigned int) c); // c -> char recebido pela serial
StrTeste+=tmp;

Assim fica simples de entender, depois vc otimiza/melhora