要求:程序要求运行1000次(可设),而每一次要经过四个步聚如下:
1:要通过串口发送数据到相关的硬件,使硬件运行一段时间T1;
2:再通过串口发送数据使硬件停止运行;
3:之后发送指令读取硬件的数据,并将数据显示到相应的界面上;
4.最后再等待一段时间T2。(目的是使硬件完全停止)遇到的问题:
1.用for语句循环每一次操作,数据并没有在每次(四个步聚)结束时,将数据显示到相应的界面,而是等待循环结束一次显示出来;
2.软件会停滞的现象,点其它功能时反应不过来,延时我用 sleep() 处理 请问各位有没有什么好的办法,让程序每接收一个数据就显示出来,并不会出现停滞现象,而且我可以在运行(1000次)中随意中止。
1:要通过串口发送数据到相关的硬件,使硬件运行一段时间T1;
2:再通过串口发送数据使硬件停止运行;
3:之后发送指令读取硬件的数据,并将数据显示到相应的界面上;
4.最后再等待一段时间T2。(目的是使硬件完全停止)遇到的问题:
1.用for语句循环每一次操作,数据并没有在每次(四个步聚)结束时,将数据显示到相应的界面,而是等待循环结束一次显示出来;
2.软件会停滞的现象,点其它功能时反应不过来,延时我用 sleep() 处理 请问各位有没有什么好的办法,让程序每接收一个数据就显示出来,并不会出现停滞现象,而且我可以在运行(1000次)中随意中止。
解决方案 »
- delphi开发ocx控件问题
- 记录类型文件里写入Ticon类型问题,散分.
- 就这么多分了,很小的问题,马上结
- 请斑主进来,审核后的FAQ提交内容被删除,FAQ主要解答人所得分扣除!上次FAT过的东西总信誉分加了,但DELPHI版的信誉分又没加,为什么要扣
- 在线等待,解决了马上给分!
- 关于本地数据库paradox7的问题???等待
- 有没有无锡的公司招兼职程序员
- 如何在delphi程序中打开mmc控制台?
- 怎样把QRCompositeReport合并成的报表输出成txt文件!
- 如何在DELPHI程序中调Windos的拨号程序?
- 用inno 做补丁安装程序,如何屏蔽‘Folder Exists’对话框?
- delphi子窗口关闭会触发什么事件
2、把sleep(1000)改为循环sleep(100);application.processmessages;10次
定义一个TDateTime
再用现在系统的时候加上你要等的秒数,合成一个新的TDateTime用一个定时器,每一秒判断一次现在系统的时间与这个新合成的时间,如果现在的系统时间大于等于合成的时间就可以执行了,相应状态下的动作
另外可以考虑用定时器,然后设置一个定时器状态标志flag,flag=0,1,2,3;循环变量add =0;
=0时 :add:=add+1,通过串口发送数据到相关的硬件,使硬件运行一段时间T1,T1就是重新设置定时器的间隔,flag=1;
=1时 :通过串口发送数据使硬件停止运行,flag=2;
=2时 :发送指令读取硬件的数据,并将数据显示到相应的界面上,flag=3;
=3时 :最后再等待一段时间T2,T2就是重新设置定时器的间隔,flag=0;不知道楼主第二步跟第三步、第四步之间有没有间隔,没有的话标志只要2个,大意就是有定时间隔的把定时间隔重置,达到按间隔发送消息的目的。而间隔是变量,可以由外部设置的。停止定时器就是停止循环没有每个循环都显示,那应该是显示操作没放循环里,而是循环结束显示出来。
如果可以的话楼主可以把代码贴出来看看