请输入您要查询的百科知识:

 

词条 timeSetEvent
释义

Delphi相关帮助

Delphi声明

timeSetEvent 是一种精确度非常高的定时器,与windows定时器不同的是,多媒体定时器不使用容易丢失的窗口消息,他提供另外两种方式来触发。

function timeSetEvent(uDelay, uResolution: UINT; //uDelay 定时器触发的时间间隔

//uResolution 定时器使用的分辨率(精确度)

lpFunction: TFNTimeCallBack; //若触发方式为回调函数,则为回调函数的指针,

//若采用事件方式,则为 event object 的handle

dwUser: DWORD; //可为任意变量或者结构地址,他会在定时器触发的时候回传给回调函数

uFlags: UINT //定时器类型,共有两组旗标

): MMRESULT; stdcall; //返回值,成功的话,返回非零值,代表定时器的编号,失败返回0

()

当某个定时器已经完成了自己的任务,需要退出的时候,只要调用 timeKillEvent 函数,传入它的定时器编号即可

function timeKillEvent(uTimerID: UINT): MMRESULT; stdcall; //TimerID 建立定时器时,所返回的编号。

//返回值,若定时器编号无误,返回TIMERR_NOERROR表示成功释放,否则放回MMSYSER_INVALPARAM

Delphi调用方法

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, MMSystem;

type

TForm1 = class(TForm)

mmo1: TMemo;

procedure FormCreate(Sender: TObject);

procedure FormDestroy(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

MMTimerID : Integer;

Form1: TForm1;

implementation

{$R *.dfm}

procedure MMTimerProc(uTimerID,uMessage:UINT;dwuser,dwl1,dw2:DWORD);stdcall;

begin

form1.mmo1.Lines.Add('Running.....')

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

MMTimerID := timeSetEvent(1000,0,@MMTimerProc,0,TIME_PERIODIC OR TIME_CALLBACK_FUNCTION);

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

if MMTimerID<>0 then

timeKillEvent(MMTimerID);

end;

end.

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 10:19:17