接收到数据,立刻就显示,而不是整个程序执行完毕才显示!请问如何实现。

lijl8247 2005-05-24 08:40:37
我得程序实现的是一个控制端对终端的控制,
每发出一个数据,终端都会有相应的数据返回。
我想在控制端显示返回的数据。

发送单个命令,无任何问题,能够显示。

但是当我同时输入多个命令,打包,分时发送时,控制端显示的数据老是不正确。

但是对终端的控制是正确的。

我用的在编辑框里显示,
使用:
str=str+rdata;//str为CSTring型数据,rdata为返回的char型数据
UpdateData(FALSE);

请指点!

谢谢
...全文
126 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijl8247 2005-05-24
  • 打赏
  • 举报
回复
问题可能不在显示这里,我用的是MSComm控件,控制串口通信。

goto()
{//该函数实现的是分时发送功能。

}

oncomm()
{
//促发事件,每当控制端串口接收到数据,即刻促发该事件!

m_str += rData;
UpdateData(FALSE);
UpdateWindow();


}

可是显示并不如我所愿!
会不会是我的程序其他部分有问题呢?

在goto函数停止等待的过程中,oncomm函数扫描到了端口有数据,能够立刻执行吗???

困惑中……

lijl8247 2005-05-24
  • 打赏
  • 举报
回复

用了SetDlgItemText(IDC_EDIT_DATA,str);//IDC_EDIT_DATA是编辑框的ID

是不是就可以不使用UpdateData(FALSE);了?


jerry 2005-05-24
  • 打赏
  • 举报
回复
呵呵, 都一样啊,我的方法怎么会没效呢?
每显示一条数据就 UpdateWindow 一下, 就会更新窗口的显示了.

while(接收到有数据)
{
m_str += rData;
UpdateData(FALSE);
UpdateWindow();
}


lijl8247 2005-05-24
  • 打赏
  • 举报
回复
现在用的是编辑框。

如果列表框容易实现的话,咱可以改为列表框,

现在功能基本上实现了,能够控制终端做相应的操作,可是反馈显示还有问题。

谢谢!
bohut 2005-05-24
  • 打赏
  • 举报
回复
晕,你到底要用编辑框还是列表框?
bohut 2005-05-24
  • 打赏
  • 举报
回复
在OnTimer函数中添加显示代码
str是你要显示的数据

str=str+rdata;//str为CSTring型数据,rdata为返回的char型数据
SetDlgItemText(IDC_EDIT_DATA,str);//IDC_EDIT_DATA是编辑框的ID
lijl8247 2005-05-24
  • 打赏
  • 举报
回复
我想实现每发出一个控制命令所返回的信息显示在第行。再发送,再显示,再发,再显……

查了一些资料说用列表框能实现,还有什么AddString什么的,怎么实现,请明示!

谢谢~
lijl8247 2005-05-24
  • 打赏
  • 举报
回复
krh2001(边城浪子) :你好,加上你的那个语句还是不好使,我看着终端显示完所以数据,控制端才显示一个数据。

bohut(伯虎) :我设置的时间足够长了。用的


DWORD dwold,dwnew;
dwold=GetTickCount();
while( /*控制信息队列非空*/)
{

//数据打包;


//数据发送
dwnew=GetTickCount();
while(dwnew-dwold<50)
{
dwnew=GetTickCount();
}
dwold=dwnew;
}

lijl8247 2005-05-24
  • 打赏
  • 举报
回复
好的,谢谢,我试试看!
bohut 2005-05-24
  • 打赏
  • 举报
回复
我想是因为显示的间隔太短的原因吧,尝试人为设定间隔,比如用定时器来做,只是定的时间在你可以接受的范围之内。
jerry 2005-05-24
  • 打赏
  • 举报
回复
str=str+rdata;//str为CSTring型数据,rdata为返回的char型数据
UpdateData(FALSE);

UpdateWindow(); // 加这句

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧