迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1264|回复: 9

【提问】os中如何获取弹出键盘的输入框值

[复制链接]

3

主题

7

回帖

74

积分

注册会员

Rank: 2

积分
74
发表于 2020-5-25 10:28:14 | 显示全部楼层 |阅读模式
想问一下,在os中如何获取弹出键盘输入的框值,即点击确定后获取到输入框值?是直接读取0xF1寄存器的值?
回复

使用道具 举报

2

主题

110

回帖

2489

积分

金牌会员

Rank: 6Rank: 6

积分
2489
发表于 2020-5-25 10:49:39 | 显示全部楼层
楼主:       你好,请问是K600+的型号的屏么?迪文这个只能是输入完,点确定之后,再获取变量地址的值!输入过程中是不能获取的,框值是什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你的问题在于读书不多而想得太多
回复

使用道具 举报

3

主题

7

回帖

74

积分

注册会员

Rank: 2

积分
74
 楼主| 发表于 2020-5-25 11:02:12 | 显示全部楼层
13975698988 发表于 2020-5-25 10:49
楼主:       你好,请问是K600+的型号的屏么?迪文这个只能是输入完,点确定之后,再获取变量地址的值!输 ...

我用的型号是DMT10600K101,DGUS II
你说的点击“确定”,获取变量地址,所谓的变量地址是什么地址?
回复

使用道具 举报

0

主题

106

回帖

959

积分

高级会员

Rank: 4

积分
959
发表于 2020-5-25 11:03:26 | 显示全部楼层
是不是获取框的区域值  ?如是建议用描述指针来确定读取值。  点击确定后就会写入你录入控件设置的对应的地址里了啊
回复

使用道具 举报

3

主题

7

回帖

74

积分

注册会员

Rank: 2

积分
74
 楼主| 发表于 2020-5-25 11:09:23 | 显示全部楼层
kehu20190527 发表于 2020-5-25 11:03
是不是获取框的区域值  ?如是建议用描述指针来确定读取值。  点击确定后就会写入你录入控件设置的对应的地 ...

现在是这样的,弹出输入框后,如果输入不同的数字,点击确定后,OS获取到输入值,会跳转到不同的界面。
回复

使用道具 举报

2

主题

110

回帖

2489

积分

金牌会员

Rank: 6Rank: 6

积分
2489
发表于 2020-5-25 11:11:56 | 显示全部楼层
jafy 发表于 2020-5-25 11:02
我用的型号是DMT10600K101,DGUS II
你说的点击“确定”,获取变量地址,所谓的变量地址是什么地址? ...

楼主,你好,变量地址就是如图位置的值!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你的问题在于读书不多而想得太多
回复

使用道具 举报

3

主题

7

回帖

74

积分

注册会员

Rank: 2

积分
74
 楼主| 发表于 2020-5-25 11:15:22 | 显示全部楼层
13975698988 发表于 2020-5-25 11:11
楼主,你好,变量地址就是如图位置的值!

您好,这种方式没问题,我也知道怎么实现,是ok的。但是我这边的界面方案要求是弹出输入框点确定就直接跳转,而不是像你说这种方式,显示在变量地址里然后再去执行。
回复

使用道具 举报

0

主题

19

回帖

471

积分

中级会员

Rank: 3Rank: 3

积分
471
发表于 2020-5-25 11:31:12 | 显示全部楼层
你好用这个函数读取你输入之后的值,去程序里面比较。弹出你输入后的值。
void ReadDGUS(uint32_t Addr, uint8_t *pBuf, uint16_t Len)
{
  uint8_t Aoffset;
  if(NULL == pBuf){return;}
  if(0 == Len){return;}
  if((Addr+Len/2) > (0xFFFF*2)){return;}
  EA = 0;
  Aoffset = Addr&0x01;                 /*取bit0作为奇偶判断*/
  Addr  = Addr >> 1;                   /*配置地址*/
  ADR_H = (uint8_t)(Addr >> 16);
  ADR_M = (uint8_t)(Addr >> 8);
  ADR_L = (uint8_t)(Addr);
  RAMMODE = 0x00;
  ADR_INC = 0x01;
  APP_REQ = 1;                         /*占用DGUS读写*/
  while(!APP_ACK);
  APP_RW  = 1;                         /*读变量存储器*/

  if(1 == Aoffset)
  {                    /*地址为奇数*/
    if(1 == Len){ APP_DATA3=0,APP_DATA2=0,APP_DATA1=1,APP_DATA0=0;}
    else{         APP_DATA3=0,APP_DATA2=0,APP_DATA1=1,APP_DATA0=1;}
    APP_EN  = 1;
    while(APP_EN);
    if(1 == Len){ *pBuf++=DATA1;Len=Len-1; }
    else{         *pBuf++=DATA1;*pBuf++=DATA0;Len=Len-2;}
  }
  while(1)                             /*地址为偶数*/
  {
    if(0 == Len) break;
    if(Len < 4)
    {
      switch(Len)
      {
        case 3: APP_DATA3=1,APP_DATA2=1,APP_DATA1=1,APP_DATA0=0;break;
        case 2: APP_DATA3=1,APP_DATA2=1,APP_DATA1=0,APP_DATA0=0;break;
        case 1: APP_DATA3=1,APP_DATA2=0,APP_DATA1=0,APP_DATA0=0;break;
      }
      APP_EN  = 1;
      while(APP_EN);
      switch(Len)
      {
        case 3: *pBuf++=DATA3;*pBuf++=DATA2;*pBuf++=DATA1;break;
        case 2: *pBuf++=DATA3;*pBuf++=DATA2;break;
        case 1: *pBuf++=DATA3;break;
      }
      break;
      }
    else
    {
      APP_DATA3=1,APP_DATA2=1,APP_DATA1=1,APP_DATA0=1;
      APP_EN  = 1;
      while(APP_EN);
      *pBuf++=DATA3;*pBuf++=DATA2;*pBuf++=DATA1;*pBuf++=DATA0;
      Len = Len - 4;
    }
  }

  RAMMODE = 0x00;                      /*不占用时必须清零*/
  EA = 1;
}
回复

使用道具 举报

3

主题

7

回帖

74

积分

注册会员

Rank: 2

积分
74
 楼主| 发表于 2020-5-25 12:35:42 | 显示全部楼层
刚才另外一个帖子的人提醒了我,采用控件隐藏,地址归属方式,尝试了一下,基本可以满足需求
回复

使用道具 举报

2

主题

110

回帖

2489

积分

金牌会员

Rank: 6Rank: 6

积分
2489
发表于 2020-5-25 13:46:27 | 显示全部楼层
jafy 发表于 2020-5-25 12:35
刚才另外一个帖子的人提醒了我,采用控件隐藏,地址归属方式,尝试了一下,基本可以满足需求 ...

好的,能实现即可!
你的问题在于读书不多而想得太多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-4-15 02:56 , Processed in 0.038954 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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