|
我想把两个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 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|