问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

delphi7的GetTickCount作用和用法

发布网友 发布时间:2023-06-29 17:08

我来回答

2个回答

热心网友 时间:2024-12-11 16:38

这个段程序是一个“延时”过程。
GetTickCount是返回一个DWORD类型,其返回的值是自系统启动以来所经历的时间,单位:毫秒。
此段代码基本原理就是:
先GetTickCount取值赋于Start_Time,然后不停的循环用GetTickCount来和Start_Time来相减,直到这个差值大于参数DelayTime则退出循环结束过程,从而达到延时的目的。为了不造成程序因此间循环而停止响应,故在循环中用了Application.ProcessMessage来手动使程序响应系统信息。

热心网友 时间:2024-12-11 16:39

GetTickCount() 函数的作用和用法
DWORD GetTickCount(void);
1) 定义
For Release configurations, this function returns the number of milliseconds since the device booted, excluding any time that the system was suspended. GetTickCount starts at 0 on boot and then counts up from there.
在Release版本中,该函数从0开始计时,返回自设备启动后的毫秒数(不含系统暂停时间)。
For Debug configurations, 180 seconds is subtracted from the the number of milliseconds since the device booted. This allows code that uses GetTickCount to be easily tested for correct overflow handling.
在Debug版本中,设备启动后便从计时器中减去180秒。这样方便测试使用该函数的代码的正确溢出处理。
Return Values
The number of milliseconds indicates success.
返回值:如正确,返回毫秒数。
Header: Winbase.h.
Link Library: Coredll.lib.
2) 应用
用来计算某个操作所使用的时间:
Start:=GetTickCount;
...//执行耗时的操作
Stop:=GetTickCount;
TimeUsed:=(Stop-Start)/1000; //使用了xxx秒
用来定时:

void main()
{
DWORD dwLast;
DWORD dwCurrent;
DWORD dwInterval = 1000;
dwLast = GetTickCount();
int i = 0;
while(true)
{
dwCurrent = GetTickCount();
if( dwCurrent - dwLast < dwInterval )
continue;
//your code to be executed when interval is elapsed
printf("dwLast,dwCurrent,diff:%d,%d,%d ",dwLast,dwCurrent,dwCurrent-dwLast);
//your code to determine when to break
if( i > 10 ) break;
i++;
dwLast = dwCurrent;
printf("Time is up!");
break;
}
getchar();
return;
}
对于一般的实时控制,使用GetTickCount()函数就可以满足精度要求,但要进一步提高计时精度,就要采用QueryPerformanceFrequency()函数和QueryPerformanceCounter()函数。这两个函数是VC提供的仅供Windows 9X使用的高精度时间函数,并要求计算机从硬件上支持高精度计时器。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
用六个成语各造一段话 关于把握机会的名言名句 关于把握住机会的名言名句(把握机会,成就未来) 关于把握机会的名言名句(把握机会的励志句子) 关于机会的名言名句篇一 包括“机遇”的名言名句(一) BPM中国普及之路还有多远? 哪个公司可以做OA系统 目前业内有很多人认为OA现在某些应用或者说功能在向BPM领域延生,请问... ting的三个声调组词 华为a1路由器怎么设置防火墙 ::GetTickCount();GetTickCount()两者的区别 C语言 GetTickCount()函数 &quot;GetTickCount&quot;是个什么函数,怎么用? 黑金小姐姐是什么 中年夫妻会因为没有房事而离婚吗?还是说无所谓了,离不离都一样? 夫妻之间没有性生活可不可以不离婚 c类床单被罩能直接接处皮肤吗 ...分手2年她和别的男人结婚了,现还没有离婚,和我又发生了性生活... 夫妻没离婚女方不同意做爱的算强奸吗 ...水洗标签上标着 安全技术类别C类,被子可以直接接触皮肤吗... 杨幂在哪部电视剧中被木棍勒嘴 一袭黑白拼接连体衣造型出场的佟丽娅,给人什么感觉? 英军军歌 爱国者插曲 歌词 Crimaster犯罪大师冰封的星空凶手答案及真相介绍 双人地基怎么把墙贴紧围栏上 互动沙滩是什么?都有哪些玩的游戏啊? 沙池融合互动多媒体技术?互动沙滩带你走进海边沙滩景象 我知道这部动画片的主人公是只熊猫用英语翻译 中国,美国英国,澳大利亚哪个国家不受台风侵扰的国家 求成龙演的一部电影名字:几个官富二代抢劫银行,编成游戏,只要过关就能... gettickcount64 获取开机时间不准 GetTickCount函数精确到多少毫秒 WindowsAndroid安装后。双击运行无法定位程序输入点gettickcount... 如何拍好毕业照? 从迪拜护照澳门过关需要什么 手心你的爱化作源能量,什么歌?谁唱的 魔法的城堡的歌词 求摸魔法城堡歌词 揭秘空姐们的肌肤保养术 空姐要带妆飞行,为什么皮肤还是那么好 青春靓丽的空姐,有哪些独特的护肤秘籍? 炉石传说佣兵战纪克制关系攻略 剑与远征PVP防守阵容搭配推荐 大商村镇银行怎么样 多克多比获得技能的方法有那些 如何看待进村东北虎完达山1号成功放归自然?为什么不留着? 多克多比的多克多比 多克多比修罗愈多比怎么得? 多克多比怎么得赤炎骑士??