注册 登录
编程论坛 C++教室

MFC 编辑框 取一段数据

kongfanming 发布于 2010-05-14 16:33, 1205 次点击
串口发送一串数据接收到编辑框 我要取 每串数据的第51位 可是两串数据时连续的,我企图用循环 可是把m_RXData作为数组 m_RXData[51+55*i]的时候提示我 2 overloads have similar conversions 的错误,请高手帮忙
7 回复
#2
kongfanming2010-05-14 16:38
其实能把接收到的数据分段保存就行了,之前我用的笨招儿,就是取指定位置的值,对单一的数据可以 多了就不行了 Orz
#3
kongfanming2010-05-14 16:58
怎么在收到串口发来的数据后面加一个回车呢?
#4
kongfanming2010-05-14 17:08
在一长串字符串中取任意的一段 长度固定 HELP!
#5
流氓之父2010-05-14 17:26
加油
#6
kongfanming2010-05-17 08:46
串口发送数据时候,程序的缓冲区是怎么操作的?
程序代码:
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048]; //设置BYTE数组
CString strtemp;
if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接受缓冲区内有字符
{
   variant_inp=m_ctrlComm.GetInput(); //读缓冲区
   safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
   len=safearray_inp.GetOneDimSize(); //得到有效数据长度
   for(k=0;k<len;k++)
    safearray_inp.GetElement(&k,rxdata+k); //转换为BYTE型数组
   for(k=0;k<len;k++) //将数组转换为Cstring型变量
   {
    BYTE bt=*(char*)(rxdata+k); //字符型
    strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放
    m_strEditRXData+=strtemp; //加入接受编辑框对应字符串
请高手详解下 BYTE rxdata数组是怎么存数据的 谢谢~·
#7
kongfanming2010-05-17 13:26
单步调试发现 数据是从 strtemp中一个一个传给 m_strEditRXData的,所以我在 最后一个循环里面加了一个判断来取我要的数据,问题来了 为什么我 想让m_strError 显示i+"号产品有故障"的时候 整形 i  总是不能正常显示呢
#8
kongfanming2010-05-17 18:57
不知道是我表述不清还是什么原因,怎么没人理我 应该很简单的问题 只不过我是新人 ……
1