串口通信异或问题 最头疼的一个问题

如图 在编辑框中有一组数据 现在要对这些数据进行异或运算,现在在发送按钮下编写代码 如图第二张,这里面有自己写的一些代码 但是有很大的问题 。麻烦懂得师傅看一看,谢谢!图片图片

没人了吗?是不是mfc已经过时了图片说明图片说明图片说明

字太小了,请你用电脑登录,以文本形式贴出代码

图片说明
void Ctest4Dlg::OnBnClickedButtonSend()//发送按钮功能函数
{
if(!m_ctrlcomm.get_PortOpen())//判断是否打开串口
AfxMessageBox(_T("请打开串口"));
else
{
UpdateData(TRUE);
if(m_ctrlHexSend.GetCheck())//判断是否是自动发送
{
CByteArray hexdate;
int len=String2Hex(m_strTXDATA=m_strcontrolgroup+m_strspeedchoose+m_strdirection,hexdate);
m_ctrlcomm.put_Output(COleVariant(hexdate));
}
else
m_ctrlcomm.put_Output(COleVariant(m_strTXDATA=m_strcontrolgroup+m_strspeedchoose+m_strdirection));
}

}
目的是将编辑框收到的16进制串在发送按钮下进行异或校验,以上代码是发送代码

Help!到现在还是没有做出来,附现在的代码;
void Ctest4Dlg::OnBnClickedButtonSend()//发送按钮功能函数
{
if(!m_ctrlcomm.get_PortOpen())//判断是否打开串口
AfxMessageBox(_T("请打开串口"));
else
{
UpdateData(TRUE);
if(m_ctrlHexSend.GetCheck())//判断是否是自动发送
{
CByteArray hexdate;
int len=String2Hex(m_strTXDATA=m_strcontrolgroup+m_strspeedchoose+m_strdirection,hexdate);
m_ctrlcomm.put_Output(COleVariant(hexdate));
UpdateData(FALSE);
/*****************************************************现在加入的代码**************************************************/
TCHAR array[100];
LPTSTR pBuffer =m_strRXData.GetBuffer();
memcpy(array, pBuffer, m_YH.GetLength() * sizeof(TCHAR));//向数组复制数据
m_strRXData.ReleaseBuffer();//m_strRXdata是接收编辑框的变量
int i,bcc;
bcc=array[0];
for(i=0;i>0;i++)
{
bcc=bcc^array[i+1];
}
SetDlgItemText(IDC_EDIT_YH,bcc);
}
else
m_ctrlcomm.put_Output(COleVariant(m_strTXDATA=m_strcontrolgroup+m_strspeedchoose+m_strdirection));
}

}
我该怎么将异或的值显示到m_YH变量所属的编辑框???还有异或写的对吗?