【问题标题】:Execute action every x seconds delphi每 x 秒执行一次操作 delphi
【发布时间】:2011-03-23 09:52:22
【问题描述】:

我正在尝试每 x 秒执行一次函数(或过程)。

我四处寻找,但似乎从未找到适合我需要的东西。

我的应用程序基本上是从网络获取数据,我想制作一个自动刷新复选框。 因此,假设用户选中该框,我希望应用每 5 秒调用一次该函数。

谢谢!

【问题讨论】:

    标签: delphi timer


    【解决方案1】:

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

    【讨论】:

    • 谢谢!毕竟很容易!
    【解决方案2】:

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

    有时最好先禁用计时器,然后在代码中将其 Enabled 属性设置为 true,以便在正确设置应用程序中的所有其他内容后开始触发计时器。

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

    【讨论】:

      【解决方案3】:

      我目前没有Delphi,但我很确定控制面板中有一个TTimer组件,根据this,我认为我是对的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-04
        • 1970-01-01
        • 2019-06-06
        相关资源
        最近更新 更多