有个问题问
最近开始用sqabasic,所以不太熟想问下,如何处理在一个while的循环中,处理时间,比如5秒后跳出循环。
高人帮个忙吧! dealyfor(5000) 楼上的人理解错了我的意思,delayfor只是等待5秒,我希望是在不断循环中,判断时间和开始循环的时间之间大于某个值。
if(endtime-starttime)>TIMELIMIT
break;
但就是不知道如何处理时间的计算。 楼主是说:“比如5秒后跳出循环”,所以我理解成了延迟
这个问题没有遇见过,还要请高手来帮忙 直接根据时间去判断,从编程的角度看,是不能实现的。由于程序语句执行的速度很快,我们变通一下,在循环结束后面加上判断,我觉得就可以达到要求。如果想有更好的精度,可以在每句后面都作判断。
x=当前时间
while(条件)
操作
y=当前时间
if y-x>5秒
goto label1
end if
wend
label1 操作
[ Last edited by ilovejolly on 2005-8-30 at 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)
处理的时候要转换一下类型
页:
[1]