我在delphi的Timer里,需要每 1 seconds 就对计算机的I/O port执行一次读、写操作(example: from 04F0 to 04FF I/O),我怎么才能实现呢?
请主要写清楚如何实现读、写I/O port 的详细过程。
兄弟在此谢谢各位大虾了。
请主要写清楚如何实现读、写I/O port 的详细过程。
兄弟在此谢谢各位大虾了。
解决方案 »
- 请问我向edit控件的属性text赋值,当值是html文本时候怎么做?
- dephi类的属性上怎么定义 ??
- -------------救命: 关于时间操作------------
- 为什么我用Form.Canvas.LineTo(x,y)画的图线会消失?
- 奇怪问题:编译不提示错误,为什么不生成DLL文件?
- 那里有delphi for .net preview 下载啊?
- 请问编程高手:安装程序中 ini文件是如何写成的,注册又是如何写成的??? 谢谢那位热心朋友耐心给我讲解好么?
- 新生成EXCEL的SHEET放到相应的位置
- 奇怪现象!一关于Delphi对于全角文字处理的现象!
- 急!!高分求解:用MediaPlayer播放avi文件,如何能够平滑快进,快退效果
- 我想请问InterBase数据库如何才能登录上了。
- 学IntraWeb的,大家联系一下如何?
要求严格的话可以用,CreateWaitableTime,加上线程来做,这是内核对象定时器,比较精确。线程可以等待这个对象以实现阻塞,到时间就会活跃,然后再设置状态,再等待。具体看MSDN。GetTickCount是一个比较精确的计时,但他无法让你的线程阻塞,你只有不听的监视他的变化,这不是一个好的选择。
你能不能告诉我怎么得到这个控件,以及如何使用?
谢谢!!
在线等待!!!
时间要求不是很精确,每次误差 〈 20ms 都能够接受。我的目标是能够用达到此性能就行了,没有必要去追求高精度!!
你能不能在详细一些,比如说具体到 句柄 ?
谢谢!!!!
再现等待!
while true do
begin
Application.processMessages;
i:=GetTickCount;
if i-j >1000 then
begin
j:=i;
//do your things here
end;
end;
这个好像有一点问题,就是说在开机很长一端时间后,i-j就小于0了。因此你如果采用这个方法的话,先看看GetTickCount说明。