输入金额代码

1.全民付

 while(1)
    {
      MmiUtil_UserClr(2);
      PrmMngr_DisTXT((char*)"支付码:", BillNo , strlen(BillNo), 1);
      MmiUtil_DisplayLine((char*)"注:最低10元", LINE4);
      BillAmount = 0;
      memset(tmp, 0, sizeof(tmp));
      
      if(MmiUtil_InputAmount(LINE2, "请输入充值面额:", (char*)tmp, 1, 9, RIGHT_JST) < 0)
        return BANK_FAIL;
        
      BillAmount = atol(tmp);
      
      if(BillAmount == 0)
      {
        MmiUtil_Warning((char*)"无效金额");
        continue;
      }
      
      if(BillAmount < 1000) /*最低10元*/
      {
        MmiUtil_UserClr(LINE2);
        MmiUtil_Warning((char*)"充值面额不能低于 10元");
        continue;
      }
      
      break;
    }

2,移机

/* --------------------------------------------------------------------------
 * FUNCTION NAME: AppUtil_InputAmount
 * DESCRIPTION:   输入金额.
 * RETURN:
 * NOTES:
 * ------------------------------------------------------------------------ */
int AppUtil_InputAmount(char *Text, unsigned long *am)
{
  char    ch;
  char    buf[64];
  
  MmiUtil_ClearLines(2, 3);
  
  if(Text != (char*) 0)
  {
    MmiUtil_DispChinese(Text, 1, 2);
  }
  
  memset(buf, 0, sizeof(buf));
  sprintf(buf, "%lu.%02lu", *am / 100, *am % 100);
  MmiUtil_ClearLines(3, 3);
  MmiUtil_DisplayRight(buf, 3);
  ch = MmiUtil_WaitKey(60);
  
  if(ch == 0)
  {
    return BANK_FAIL;
  }
  
  if(ch >= '0' && ch <= '9')
  {
    *am = 0;
  }
  
  while(ch != KEY_CANCEL & ch != KEY_CR)
  {
    if((strlen(buf) == 11) &&  ch >= '0' && ch <= '9')
    {
      beep(500);
    }
    else if(ch >= '0' && ch <= '9')
    {
      if(strlen(buf) < 10)
        * am = *am * 10 + (ch - '0');
      else
      {
        if(*am < 429496729L)
          * am = *am * 10 + (ch - '0');
          
        if(*am == 429496729L)
        {
          if(ch > '5')
            beep(500);
          else
            *am = *am * 10 + (ch - '0');
        }
        
        if(*am > 429496729L)
          beep(500);
      }
    }
    else if(ch == KEY_BS)
    {
      * am = *am / 10;
    }
    
    memset(buf, 0, sizeof(buf));
    sprintf(buf, "%lu.%02lu", *am / 100, *am % 100);
    MmiUtil_ClearLines(3, 3);
    MmiUtil_DisplayRight(buf, 3);
    ch = MmiUtil_WaitKey(60);
    
    if(ch == 0)
      return BANK_FAIL;
  }
  
  if(ch == KEY_CR)
    return BANK_OK;
  else
    return BANK_FAIL;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值