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;
}