易码技术论坛

 找回密码
 加入易码
搜索
查看: 141462|回复: 8

请教怎样画不停闪动的光标?

[复制链接]
发表于 2006-2-16 15:34:00 | 显示全部楼层
要是字符光标就用取得时间的方法控制是否显示.
 楼主| 发表于 2006-2-16 18:05:00 | 显示全部楼层
那TC800的文本编缉里的闪动是怎么实现的?
发表于 2006-3-6 15:23:00 | 显示全部楼层
char Getchar(){

   char key,time;

   #define DELAYTIME 20

   while(){

      time=Getms();

      while(((Getms()-time)&0xff)<DELAYTIME)

         if(key=CheckKey(128))

            return key;

      Box(光标x,光标y,光标x+光标宽-1,光标y+光标高-1,1,2);

   }

}

TC800的不知道,这个是现编的--!。
 楼主| 发表于 2006-3-8 12:29:00 | 显示全部楼层
为何要加&0xff,什么意思请问高手?
发表于 2006-3-8 14:07:00 | 显示全部楼层
限制单字节的溢出,这样能保证算出的时间差永远在0-255的范围内,否则当毫秒数(暂且这么叫)归0后Getms()-time为负,条件成立,那么延时就不准确。

如果延长时间大于一秒就直接取得时间,将时分秒分别乘以对应的毫秒数再加现在的毫秒数然后减去上次取得的时间这样算出的值就是准确的时间差。
[em01]
 楼主| 发表于 2006-3-12 08:55:00 | 显示全部楼层
多谢,这样看来这个&0xff按位与在这里作用是格式化字符,以达到去负号的目的,是这样的吗?
发表于 2006-3-12 13:36:00 | 显示全部楼层
限制单字节的溢出,这样能保证算出的时间差永远在0-255的范围内,否则当毫秒数(暂且这么叫)归0后Getms()-time为负,条件成立,那么延时就不准确。


不明白,单字节本来不就是0-255的吗?
发表于 2006-3-12 15:46:00 | 显示全部楼层
是啊。但是Getms()-time的值不赋给char型数或和0xff相与的话就还是long型的。

赋给char型变量一个道理,但是没&快。
 楼主| 发表于 2006-2-13 10:39:31 | 显示全部楼层 |阅读模式
请教怎样画不停闪动的光标?[em09]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-8-24 14:00 , Processed in 0.009596 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表