[编程问题]:如何实现按键数字连续增加或减少?

[复制链接]
4134|10
 楼主| HARD_WORK 发表于 2009-4-21 10:49 | 显示全部楼层 |阅读模式
比如数字123.4,单击“+”,数字变成123.5,如果长按“+”,数字从123.4,增加到123.5,直到124,然后,到125,,126。。到130,140,150,,,到200后然后就300。。到1000(最大值)

“-”则数字减少。。

谢谢。。。
 楼主| HARD_WORK 发表于 2009-4-21 11:11 | 显示全部楼层

长按“-”时,如果是100,一下减到0了。。。

computer00 发表于 2009-4-21 11:12 | 显示全部楼层

设置相应的标志即可。

 楼主| HARD_WORK 发表于 2009-4-21 11:33 | 显示全部楼层

需不需要把数字分成千,百,十,个,小数,来分别操作?

谢谢computer00 .
能否给点提示呢?

这样的操作在仪表上是不是经常用?
computer00 发表于 2009-4-21 16:27 | 显示全部楼层

每次长按的开始,都把步进值设置为0.1,

调节后的值再除以这个步进值的10倍,如果结果为0,那么步进值就扩大10倍。
smileagain 发表于 2009-4-21 20:22 | 显示全部楼层

不太理解

圈圈能给段代码看看么?:)
ayb_ice 发表于 2009-4-21 21:00 | 显示全部楼层

简单的状态管理而已

常来21ic 发表于 2009-4-21 21:38 | 显示全部楼层

用状态机来做得话逻辑关系就很明显了!

switch(按键值)
{

  case +长按:
  {
     switch(小数)
     { case 0:
          个位++
          switch(个位) 
          {
             case 10:
             ..........
          } 
          break;      
          
      default:
          小数++;
          if(小数==10)
          {
             ....
          }
          break;
     }
  }
  break;

  case +短按:
     小数++;
     if(小数==10)
     {
             ....
     }
     break;  

}

评分

参与人数 1威望 +6 收起 理由
程序匠人 + 6

查看全部评分

glf 发表于 2009-8-15 15:59 | 显示全部楼层
学习了
zy_spa 发表于 2009-8-15 16:10 | 显示全部楼层
8# 常来21ic
可否使用汇编呢?谢谢!zy_spa@163.com
5880527 发表于 2009-8-17 09:55 | 显示全部楼层
这玩意还要问吗,看一眼就应该能自己做出来,做不出来就该挨板子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部