读书人

请问BCB6的Edit字符串转换有关问题

发布时间: 2012-03-24 14:00:46 作者: rapoo

请教BCB6的Edit字符串转换问题
我想把两个Edit输入的字符串加到一起转换成ASCII后处理,现在的代码如下:

//显示转换后的数据

void TForm1::ShowBuf(unsigned char *buf,int length)
{
if (Memo1->Lines->Count >200)
Memo1->Clear();

AnsiString temp = FormatDateTime("'Data:'yyyy'年'mm'月'dd'日' hh:mm:ss.zzz", Now());

Memo1->Lines->Add(temp);
AnsiString recStr = "";
for(int i=1; i<=length; i++)
{
AnsiString hextemp = "0x" + IntToHex((byte)buf[i-1], 2);
if(i%8==0 && i%16!=0)
hextemp += " ";
else
hextemp += " ";
recStr += hextemp;

if(i%16 == 0)
{
Memo1->Lines->Add(recStr);
recStr = "";
}
}

Memo1->Lines->Add(recStr);
}

//---------------------------------------

//开始转换
void __faSTCall TForm1::Button1Click(TObject *Sender)
{
char * temp;
AnsiString tt;
tt =Edit1->Text + Edit2->Text;
temp=tt.c_str();
ShowBuf(temp, strlen(temp));
return;
}
//---------------------------------------

在Edit1文本框内输入123,Edit2文本框内输入ABC,转换后的结果如下:
0x31 0x32 0x33 0x41 0x42 0x43

我想在Edit1转换的数据前加个头标记0xff 0x01, 在Edit2转换的数据前加个头标记0xff 0x02作为区别,就是转换后为下面这样的结果,该怎么处理?谢谢^_^
0xff 0x01 0x31 0x32 0x33 0xff 0x02 0x41 0x42 0x43

[解决办法]

探讨
转换结果只要
0xff 0x01 0x31 0x32 0x33 0xff 0x02 0x41 0x42 0x43
不要123ABC的

读书人网 >C++ Builder

热点推荐