Pascal 定时函数
11月前

program TimerExample;

uses
  Classes, SysUtils;

// 设置定时器并执行指定的过程
procedure Callout(Interval: Integer; Callback: procedure);
var
  StartTime: TDateTime;
  ElapsedTime: Integer;
begin
  StartTime := Now; // 初始化开始时间

  repeat
    ElapsedTime := Round((Now - StartTime) * 86400000); // 一天的毫秒数
    if ElapsedTime >= Interval then
    begin
      Callback(); // 执行指定的过程
      StartTime := Now; // 重置开始时间
    end;
    Sleep(10); // 暂停10毫秒,避免 CPU 占用率过高
  until False;
end;

// 示例执行过程
procedure MyProcess;
begin
  Writeln('My process is executed!');
end;

begin
  // 在其他地方调用 Callout 函数
  Callout(1000, @MyProcess); // 设置间隔时间为1秒,执行 MyProcess 过程
end.
最新回复 (4)
返回