timer1.interval=5,timer3.interval=500
用Timer来决定时间很不可靠,你的设置值虽为timer3.interval/timer1.interval=100,但在执行时一般不会达到你的要求!建议在timer3的事件中判断timer1事件中记录的数据n来做为条件。
用Timer来决定时间很不可靠,你的设置值虽为timer3.interval/timer1.interval=100,但在执行时一般不会达到你的要求!建议在timer3的事件中判断timer1事件中记录的数据n来做为条件。
否则,当数据采集的频率较高时,可能会丢失数据。关于执行效率,我
提几点优化建议。
1.ReDim比较费时,应尽量减少其执行次数。
既然aa的元素个数由Timer1和Timer3的定时间隔决定,
ReDim aa(m)就应该放在Timer的定时间隔设定处执行,
不要放在Timer3里,以减少不必要的动作。
2.aa()的最大值和最小值的计算分别用了两个函数,可改用
一个sub来实现,减少重复的循环。当数组较大时,尤其可观。
3.多次用到了LBound和UBound来得到aa的上下界,实际上,在
ReDim aa()后就是知道的了,最好定义两个Form级的变量。 另外,Timer1里计数器n的使用有问题,`尽管定义了static型,
但每次执行时,其值都是固定的,也不妨用一个Form级的变量。
n = LBound(aa) '0
....
n = n + 1 '1