想了很多办法,都不能利用timer来循环执行,刚才看了下其他的相关帖子,好象说timer本身就会循环的,但是我的程序就不循环,高手帮我看看是哪错了procedure TForm1.TimerSTimer(Sender: TObject);
begin
Looptimes:=0;
LoopTimes:= LoopTimes+1;
TimeEls:= StrToInt(EditSetting.Text) - (Variant(TimerS.Interval)/1000)*LoopTimes;
EditRe.Text:= IntToStr(TimeEls) + ' 秒';
TimerS.Enabled:=True;
TimerS.Interval:=5000;
end;其中 LoopTimes,TimeEls:Integer; 是全局变量的!
begin
Looptimes:=0;
LoopTimes:= LoopTimes+1;
TimeEls:= StrToInt(EditSetting.Text) - (Variant(TimerS.Interval)/1000)*LoopTimes;
EditRe.Text:= IntToStr(TimeEls) + ' 秒';
TimerS.Enabled:=True;
TimerS.Interval:=5000;
end;其中 LoopTimes,TimeEls:Integer; 是全局变量的!
试试吧,住院都糊涂了
同楼上,Looptimes(应该是计算循环次数吧)每次执行都被赋0.
其实你只要在改过程的第一句设置断点,就会发现每隔5秒钟程序被暂停一次,是循环的.
至于你说的你的程序不循环,是不是别的地方用到Looptimes了??