首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

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

请教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的

热点排行