每隔x秒delphi执行一次动作

Gab*_*Gab 2 delphi timer

我每隔x秒尝试执行一个函数(或过程).

我一直在寻找各处,但似乎从来没有找到适合我需要的东西.

我的应用程序基本上从网上获取数据,我想制作一个自动刷新复选框.所以让我们说用户选中该框,我希望应用程序每隔5秒调用一次该功能.

谢谢!

Ken*_*ite 8

使用TTimer(从System组件面板中的选项卡).将间隔设置为秒数*1000(从毫秒转换为秒),并为OnTimer事件编写处理程序.


Mar*_*ski 8

最简单的方法是使用TTimer组件,这是Delphi标准VCL的一部分.在表单上放置一个,确保Enabled设置为True,将Interval设置为5000(该值以毫秒为单位),并分配其OnTimer事件,您将在其中放置需要每5秒运行一次的代码.

有时最好先禁用定时器,然后在代码中将其Enabled属性设置为true,以便在应用程序中的其他所有内容都已正确设置后启动计时器.

定时器可能不会以精确的5秒间隔触发,因为定时器消息在Windows中具有低优先级,并且如果CPU正在执行许多其他工作,则可能无法接收定时器消息.由于您的间隔时间相对较长,您可以将计时器设置为每秒触发一次(间隔:= 1000)或甚至每秒几次,并在每次触发时检查当前时间.如果当前时间比上次更新时间晚5秒或更长时间,则执行更新.(使用DateUtils单元中的SecondsBetween函数进行确定).