利用C Builder进行精确计时

文章作者 100test 发表时间 2007:03:10 16:56:49
来源 100Test.Com百考试题网


虽然Win95下可视化开发工具如VC、Delphi、C++ Builder等都有专用的定时器控件Timer,而且使用很方便,可以实现一定的定时功能,但最小计时精度仅为55ms,且定时器消息在多任务操作系统中的优先级很低,不能得到及时响应,往往不能满足实时控制环境下的应用。不过Microsoft公司在Win32 API函数库中已经为用户提供了一组用于高精度计时的底层函数,如果用户使用得当,计时精度可到1ms。这个计时精度、对于一般的实时系统控制完全可以满足要求。现将由C++ Builder 4.0提供的重新封装后的一组与时间相关的主要接口函数(函数名、参数、功能与Win32 API基本相同)说明如下:

  1.DWORD timeGetTime(void)

    返回从Windows启动开始经过的毫秒数。最大值为232,约49.71

  天。

    2.MMRESULT timeSetEvent(

    UINT uDelay,

    UINT uResolution,

    LPTIMECALLBACK lpTimeProc,

    DWORD dwUser,

    UINT fuEvent

     )

  该函数设置一个定时回调事件,此事件可以是一个一次性事件或周期性事件。事件一旦被激活,便调用指定的回调函数,成功后返回事件的标识符代码,否则返回NULL。参数说明如下:

  uDelay:以毫秒指定事件的周期。

    Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。

    LpTimeProc:指向一个回调函数。

    DwUser:存放用户提供的回调数据。

    FuEvent:指定定时器事件类型:

    TIME_ONESHOT:uDelay毫秒后只产生一次事件

    TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件。

相关文章


C 中园形三角形按钮的实现
2006年9月二级C语言考试超级模拟试题1答案
全国计算机等级考试二级C语言上机题23
用C 制作有HTML风格的动态按钮
利用C Builder进行精确计时
全国计算机等级考试二级C语言上机题11
全国计算机等级考试二级C语言上机题22
C_C 跨平台I_O操作技巧
C_C 中命令行参数的原理
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛