用time 控件,基本上不行。!如果在线程中用sleep,无法保存sleep之前的过程的时间执行长度 !还有哪一些呢?精准在100毫秒以内。
解决方案 »
- TListBox如何设置不同行不同颜色
- 在sql server 数据库触发器存在,clientdataset,修改了数据表后触发字段无法更新的问题
- 请问:我已做好了一个COM,怎样在客户端调用呢?
- 我读出文件为什么跟别人读的文件内容不一样,帮我看看这个困扰我多时的问题!
- 紧急求救,如何将整型字段清空?直接将NUll赋给它不行。
- 如何让webbrowser中的window.alert("")不出现提示框
- 请高人帮我修改程序!给钱!
- 问题??急!急!文件保护的问题,如何保护一个文件不让别人Copy和Delete?
- 高分求:SQLDMO在DELPHI中如何应用?
- 怎样实现下面的数据库导入?
- delphi使用MD5时提示Integer overflow
- 文本文件 I/O
http://www.micrel.cz/Dx/
这个如果是取CPU的周期来计算的,那是相当耗,CPU占用率会升得很高。
2、SLEEP为什么不能当作定时用,在线程里,定时延时一定长度的时间,不也一样吗?
3、time事件,如果在100毫秒之内,去取值的,取出来的now中的毫秒值,与一笔相差不止100。很不准。
而且,如果在主进程中这时也有执行某个过程的话,这时候的time就更不准了。
4、高速TImer,还有cnpack里也有一个,是不是也是采用计算CPU周期的。。如果是的话,也是占用CPU的。
谢谢大家,请再。帮忙
procedure Delay(MSecs: Longint);
var
FirstTickCount, Now: Longint;
begin
FirstTickCount := GetTickCount();
repeat
Application.ProcessMessages;
Now := GetTickCount();
until (Now - FirstTickCount >= MSecs) or (Now < FirstTickCount);
end;
这个也是取CPU周期的,非常占用CPU的。是不是只能用这一类的。。
这个相当占用CPU的。