mmm2006 发表于 2008-10-28 13:07:17

求教:如何在循环中及时相应用户操作。

定义了一个事件结构,处理界面操作:开始测试,读取设定等。通过开始测试按键的相应,输出BOOl值,启动另外一个WHILE循环。这个循环
主要是做数据采集工作,使用定时循环结构(2S)一次。连续采集30次。如果这30个数据分析符合要求,变化设定,进行下一次30个点的采集。
是个循环套循环的过程。

目前发现,在开始测试后,数据采集过程中,用户按键无法相应:比如按“退出程序”、“停止测试”等。这个如何处理比较好呢?是在定时循环
采样结构里面检测有关用户操作的属性吗?比如检查“退出程序”按键的值属性有无变化,如果有变化就提示用户,或者结束循环,是这样做吗?
请大家指点,这种情况下如何处理比较妥当。
新手,请指教。谢谢。

fangy2010 发表于 2008-10-28 13:46:00

如果程序只有一个线程(就是除了这个事件结构没其他东西了),那么在这个整数采集循环结束前,整个程序是无法响应其他事件的。

所以一定要有循终止条件,可以将“停止测试”作为该条件,另外,在编辑事件结构时将“事件结束前锁定前面板”的选项取消(就在编辑事件响应对话框的下面,默认是选着的);

或者不用事件结构,直接用条件结构。

还可以用“同步”中的事件或集合进行控制,就是稍有点麻烦。

最后两个问题有点还不明白意思,在事件结构中当然可以检查“退出程序”按键的值有无变化,但是,一个事件结构中,当它正在响应其中的一个事件的过程中,它不会去响应这个事件结构中的其它事件。所以如果这个结构中有个死循环在一直运行,它就不会去响应这个事件中包括“退出程序”以内所有其他事件了。
不知道说明白没,我也是初学者哈:)

[ 本帖最后由 fangy2010 于 2008-10-28 13:58 编辑 ]

wdyjz 发表于 2008-10-28 14:16:42

定时循环,可以通过定时循环结构的停止定时循环节点控制,只要给它循环的名字即可。

mmm2006 发表于 2008-10-28 19:08:19

"只要给它循环的名字即可。",这个如何设定,请说说."定时循环结构的停止定时循环节点控制"这个哪里能设?
谢谢.
页: [1]
查看完整版本: 求教:如何在循环中及时相应用户操作。