回 帖 发 新 帖 刷新版面

主题:FP中怎么延时???

急求

回复列表 (共1个回复)

沙发

FP中延时我没用过,不过由于基本与TP相同,应该是这样:

Crt单元的delay过程:
delay(MS:word),使程序暂停MS的时间。
MS是milli-second数,具体是多长时间自己试试看就知道。
对于TP来说,CPU主频不同延时还不一样呢,貌似FP(Win32)没这个问题。

或者是用Dos单元的gettime过程:
gettime(var hour,minute,sec,sec100:word);
参数分别是得到的小时、分钟、秒以及百分之一秒的数值。
配合一些循环语句可以做到延时。

另外有一种最方便的方法,不过仅限于16位系统的:
读取系统低端内存处的脉冲计数。
定义一个longint类型
将其赋值为MemL[Seg0040:$006C]
该内存记录的是从今天0:00开始时钟脉冲发生的次数,每隔3600/65536s值增加1,
约为1/18.2s。
这个方法用于粗略掐时确实方便,可惜FP用不了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册