yanwuxu 发表于 2010-4-13 10:43:35

初学,请教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, 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
页: [1]
查看完整版本: 初学,请教BCB6的Edit字符串转换问题