51Testing软件测试论坛
标题:
有个问题问
[打印本页]
作者:
jackael008
时间:
2005-8-30 12:31
标题:
有个问题问
最近开始用sqabasic,所以不太熟
想问下,如何处理在一个while的循环中,处理时间,比如5秒后跳出循环。
高人帮个忙吧!
作者:
gabriel
时间:
2005-8-30 12:55
dealyfor(5000)
作者:
jackael008
时间:
2005-8-30 13:02
楼上的人理解错了我的意思,delayfor只是等待5秒,我希望是在不断循环中,判断时间和开始循环的时间之间大于某个值。
if(endtime-starttime)>TIMELIMIT
break;
但就是不知道如何处理时间的计算。
作者:
gabriel
时间:
2005-8-30 14:42
楼主是说:“比如5秒后跳出循环”,所以我理解成了延迟
这个问题没有遇见过,还要请高手来帮忙
作者:
ilovejolly
时间:
2005-8-30 14:54
直接根据时间去判断,从编程的角度看,是不能实现的。由于程序语句执行的速度很快,我们变通一下,在循环结束后面加上判断,我觉得就可以达到要求。如果想有更好的精度,可以在每句后面都作判断。
x=当前时间
while(条件)
操作
y=当前时间
if y-x>5秒
goto label1
end if
wend
label1 操作
[
Last edited by ilovejolly on 2005-8-30 at 16:04
]
作者:
jackael008
时间:
2005-8-30 15:33
再次谢谢版主
~!!!
作者:
ilovejolly
时间:
2005-8-30 16:04
上面这个伪代码是有两个结束循环的地方,如果while条件为假,直接wend,如果y-x>5,跳到label1
如果只用时间判断,可以这样
x=当前时间
while(1)
操作
y=当前时间
if y-x>5秒
goto label1
end if
wend
label1 操作
下面是当前时间的代码
Dim y
Dim nowh
Dim nowm
Dim nows
nowh=Hour(Now)
nowm=Minute(Now)
nows=Second(Now)
y=TimeSerial(nowhr,nowmin,nowsec)
处理的时候要转换一下类型
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2