字符串写二进制码或十六进制码 C++Builder MSComm控件
C++Builder中怎么通过MSComm控件,把一个字符串转为16进制输出?
因为在C++ Builder的MSCOMM控件通过以下这句只能满足 输出字符串
MSComm1->Output=StringToOlestr("输出字符串");就在这里怎么用字符串写二进制码呢?
[解决办法]
//发送
void __fastcall TForm1::Button3Click(TObject *Sender) file://发送Memo2中的数据
{
MSComm1->Output=StringToOleStr(Memo2->Text); file://把AnsiString型转化成//Ole形式。
}
//接收
void __fastcall TForm1::MSComm1Comm(TObject *Sender)
{
AnsiString str; file://声明一个AnsiString类型的变量
OleVariant s; file://声明一个用于接收数据的OleVariant变量。
if(MSComm1->CommEvent==comEvReceive)
// 接收缓冲区中是否收到Rthreshold个字符。
{
if(MSComm1->InBufferCount)// 是否有字符驻留在接收缓冲区等待被取出
{
s=MSComm1->Input;//接收数据
str=s.AsType(varString); file://把接收到的OleVariant变量转换成AnsiString类型
Memo1->Text=Memo1->Text+str;//把接收到的数据显示在Memo1中。
}
}
}