⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.c

📁 手机点菜系统手机端,利用GPRS实现菜名上报
💻 C
📖 第 1 页 / 共 3 页
字号:
		return FAILURE;
	}	
}
short input_waiter_NO(int x, int y,unsigned char *pWaiter_NO)
{
	GETSTR_PARAM gs;
	short ret;
	char tmpstr[20];

	gs.qx = x;
	gs.qy = y;
	gs.sFont = 0;
	gs.alpha = 0;
	gs.pPrompt = "请输员工号:";
	gs.nullEnable = 0;
	gs.csChar = '_';
	gs.pwChar = 0;
	gs.spChar = 0;
	gs.pStr = pWaiter_NO;
	gs.maxNum = 4;
	gs.minNum = 1;
	gs.minValue = -1;
	gs.maxValue = -1;
	gs.autoexit = ac_time;                                		
	gs.retNum = 0 - strlen(pWaiter_NO);
	gs.qEvent = EXIT_KEY_POWER|EXIT_AUTO_QUIT|EXIT_KEY_F1;
	ret = huGetStr_E(&gs);
	if (ret==0)
	{
		strcat( pWaiter_NO, "    " );
		sprintf( tmpstr, "员工号:%s", pWaiter_NO );
		DispStr_CE( x, y, tmpstr, DISP_POSITION|DISP_CLRLINE );
		memcpy(g_waiter_NO,pWaiter_NO,sizeof(g_waiter_NO));
		return SUCCESSFUL;
	}else {
		if ( gs.qEvent==EXIT_KEY_POWER ) return -1;
		if ( gs.qEvent==EXIT_AUTO_QUIT ) return -1;
		if ( gs.qEvent==EXIT_KEY_F1 ) return -2;
		return FAILURE;
	}	
}

short input_waiter_PWD(int x, int y,unsigned char *pWaiter_PWD)
{
	GETSTR_PARAM gs;
	short ret;
	char strbuf[20];
	int pwd;
	
	pwd=1987;
	sprintf(strbuf,"%d",pwd);
	//unsigned char *str_hd_pwd;
	ret = verify_pwd(x,y,g_hd_pwd);
	return ret;
	/*gs.qx = x;
	gs.qy = y;
	gs.sFont = 0;
	gs.alpha = 0;
	gs.nullEnable = 0;
	gs.pPrompt = "密码:";
	gs.csChar = '_';
	gs.pwChar = '*';
	gs.spChar = 0;
	gs.pStr = pWaiter_PWD;
	gs.maxNum = 4;
	gs.minNum = 1;
	gs.minValue = -1;
	gs.maxValue = -1;
	gs.retNum = 0;
	gs.autoexit = ac_time;                                		
	gs.qEvent = EXIT_KEY_F1|EXIT_KEY_POWER;
	ret = huGetStr_E(&gs);
	/*if (ret==0)
	{
		int i;
		for(i=gs.retNum;i<4;i++){
		if(*(pWaiter_PWD+i) ==' ') ;
		return SUCCESSFUL;
		}
	}else{
		if ( gs.qEvent==EXIT_KEY_POWER ) return -1;
		if ( gs.qEvent==EXIT_AUTO_QUIT ) return -1;
		if ( gs.qEvent==EXIT_KEY_F1 ) return -2;
		return FAILURE;
	}* /
	sprintf(strbuf,"%d",&pWaiter_PWD);
	DispStr_CE(0,4,strbuf,DISP_POSITION|DISP_CLRSCR);
	delay_and_wait_key(2,EXIT_KEY_ALL,0);	
	return SUCCESSFUL;
	*/
}

short input_person_num(int x, int y,unsigned char *pPerson_num)
{
	GETSTR_PARAM gs;
	short ret;
	char tmpstr[20];
	
	sprintf(tmpstr,"%d",*pPerson_num);
	gs.qx = x;
	gs.qy = y;
	gs.sFont = 0;
	gs.alpha = 0;
	gs.pPrompt = "请输入人数:";
	gs.nullEnable = 0;
	gs.csChar = '_';
	gs.pwChar = 0;
	gs.spChar = 0;
	gs.pStr = tmpstr;
	gs.maxNum = 2;
	gs.minNum = 1;
	gs.minValue = -1;
	gs.maxValue = -1;
	gs.autoexit = ac_time;                                		
	gs.retNum = 0 - strlen(tmpstr);
	gs.qEvent = EXIT_KEY_POWER|EXIT_AUTO_QUIT|EXIT_KEY_F1;
	ret = huGetStr_E(&gs);
	if (ret==0)
	{
		*pPerson_num = gs.retValue;
		g_person_num = *pPerson_num;
		sprintf( tmpstr, "人数:%d", *pPerson_num );
		DispStr_CE( x, y, tmpstr, DISP_POSITION|DISP_CLRLINE );
		return SUCCESSFUL;
	}else{
		if ( gs.qEvent==EXIT_KEY_POWER ) return -1;
		if ( gs.qEvent==EXIT_AUTO_QUIT ) return -1;
		if ( gs.qEvent==EXIT_KEY_F1 ) return -2;
		return FAILURE;
	}	
}

short input_number(int x,int y,int *p_num,unsigned char *pPrompt)
{
	GETSTR_PARAM gs;
	short ret;
	unsigned char tmpstr[20];
	int d1,d2=0;
	unsigned char *pTmp;
	
	ClearLine(y,DISP_FONT_TYPE_7x9);
	if(*p_num%100)
		sprintf(tmpstr,"%d.%02d",*p_num/100,*p_num%100);
	else 
		sprintf(tmpstr,"%d",*p_num/100,*p_num%100);
	gs.qx = x;
	gs.qy = y;
	gs.sFont = 0;
	gs.alpha = 0;
	gs.pPrompt = pPrompt;
	gs.nullEnable = 0;
	gs.csChar = '_';
	gs.pwChar = 0;
	gs.spChar = '.';
	gs.pStr = tmpstr;
	gs.maxNum = 6;
	gs.minNum = 1;
	gs.minValue = 0;
	gs.maxValue = -1;
	gs.autoexit = ac_time;                                		
	gs.retNum = 0 - strlen(tmpstr);
	gs.qEvent = EXIT_KEY_POWER|EXIT_KEY_F1|EXIT_AUTO_QUIT;
//	gs.qEvent = EXIT_KEY_POWER|EXIT_CARD_GONE|EXIT_AUTO_QUIT|EXIT_KEY_F1;
	ret = huGetStr_E(&gs);
	if(!ret)
	{
		pTmp = strchr(tmpstr,'.');
		if( pTmp == 0)
		{
			strcat(tmpstr,".00");
		}else {
			if((gs.retNum - (pTmp - tmpstr) - 1) == 0)
			{
				strcat(tmpstr,"00");
			}else if((gs.retNum - (pTmp - tmpstr) - 1) == 1){
				strcat(tmpstr,"0");
			} else {
				*(pTmp + 3) = 0;//如果大于3将改变字符串的长度
			}
		}
		sscanf(tmpstr,"%d.%d",&d1,&d2); //note:sscanf有问题 scanf(tmpstr,"%f",&ft);当输入 2.1 ==> 2.09
		*p_num = d1 * 100 + d2;
		//DispStr_CE( 0, 0, tmpstr, DISP_POSITION|DISP_CLRSCR );
		//dump_memory(p_num,4,3);
		//dump_memory(&d1,4,4);
		//dump_memory(&d2,4,5);
		//delay_and_wait_key(0,EXIT_KEY_ALL,0);
		return SUCCESSFUL;
	}else{
		if ( gs.qEvent==EXIT_KEY_POWER ) return -1;
		if ( gs.qEvent==EXIT_AUTO_QUIT ) return -1;
		if ( gs.qEvent==EXIT_KEY_F1 ) return -2;
		return FAILURE;
	}	
}

short input_comm_info(unsigned char *pDesk_NO,unsigned char *pWaiter_NO,unsigned char *pWaiter_PWD)
{
	short ret;
	clr_scr();
	ret = input_desk_NO(0, 0,pDesk_NO,"输入台号:");	
	if(ret!=SUCCESSFUL) return ret;
	if(!g_flag_login)
	{
		ret = input_waiter_NO_PWD(0,2,pWaiter_NO,pWaiter_PWD);
	}

	return ret;
}
//---------------------------------------------------------------------------------------------
//Function   : input_desk_info
//Description: 输入参数
//             台号缩写      人数     服务员工号   密码   
//              4             1         4           4    
//Input      : p_desk_NO
//             p_person_num
//	       p_waiter_NO
//             p_waiter_PWD
//Output     : p_desk_NO
//             p_person_num
//	       p_waiter_NO
//             p_waiter_PWD
//Return     :
//---------------------------------------------------------------------------------------------
short input_desk_info(unsigned char *p_desk_NO,unsigned char *p_person_num, unsigned char *p_waiter_NO,unsigned char *p_waiter_PWD)
{
	int  ret;

RE_INPUT:
	clr_scr();
	ret = input_desk_NO(0, 0,p_desk_NO,"输入台号:");	
	if(ret!=SUCCESSFUL) return ret;

	ret = input_person_num(0, 2,p_person_num);	
	if(ret!=SUCCESSFUL) return ret;
	if(!g_flag_login)
	{
		ret = input_waiter_NO_PWD(0,4,p_waiter_NO,p_waiter_PWD);		
	}
	if(ret==SUCCESSFUL)
	{
		return SUCCESSFUL;
	}else if(ret == -2||ret==-1) { //auto exit , F1 , power key exit
		return ret;
	} else {
		goto RE_INPUT;
	}		
}
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
int input_waiter_NO_PWD(int x,int y,unsigned char *p_waiter_NO,unsigned char *p_waiter_PWD)
{
	int ret;
	while(1)	//输入: 员工号  密码 退菜数量
	{
		ret = input_waiter_NO(x,y,p_waiter_NO);
		if(ret == -1) return ret;
		if(ret != SUCCESSFUL) break;
		ret = input_waiter_PWD(x,y+2,p_waiter_PWD);
		if(ret == -1) return ret;
		if(ret != SUCCESSFUL) break;
		ret = sure(0,6,"确认","重输");
		if(ret == -2||ret == -1) {
			return ret;
		} else if(ret ==0){
			break;
		}	
	}
        return ret;	
}

short verify_pwd(int x, int y,unsigned char *str_hd_pwd)
{
	GETSTR_PARAM gs;
	char	mima_1[10];
	short ret;
	
	//DispStr_CE(0,0,"请输入密码:",DISP_POSITION|DISP_CLRSCR);
	gs.qx = x;
	gs.qy = y;
	gs.sFont = 0;
	gs.alpha = 0;
	gs.nullEnable = 1;
	gs.pPrompt = "密码:";
	//gs.pPrompt = "";
	gs.csChar = '_';
	gs.pwChar = '*';
	gs.spChar = 0;
	gs.maxNum = 8;
	gs.minNum = 3;
	gs.minValue = -1;
	gs.maxValue = -1;
	gs.pStr = mima_1;
	gs.retNum = 0;
	gs.qEvent = EXIT_KEY_F1|EXIT_KEY_POWER;
	//if (huGetStr_E(&gs)<0) return FAILURE;
	ret = huGetStr_E(&gs);
	if (ret==0)
	{
		if(!strcmp(mima_1,"1987613"))//strcmp说明:当s1<s2时,返回值<0;当s1=s2时,返回值=0;当s1>s2时,返回值>0

		{
			return SUCCESSFUL;
		}
		if (strcmp(g_hd_pwd,mima_1))
		{
			DispStr_C(0,3,"密码错误",DISP_CENTER|DISP_CLRSCR);
			delay_and_wait_key(5,EXIT_KEY_ALL,0);
			return FAILURE;
		} else {
			return SUCCESSFUL;
		}
	}
	else
	{
		if ( gs.qEvent==EXIT_KEY_POWER ) return -1;
		if ( gs.qEvent==EXIT_AUTO_QUIT ) return -1;
		if ( gs.qEvent==EXIT_KEY_F1 ) return -2;
		return FAILURE;
	}
}

void change_passwd(void)
{
	GETSTR_PARAM gs;
	char	mima_1[10],mima_2[10];
	short ret;
	
	clr_scr();
	ret=input_waiter_PWD(0, 0,g_hd_pwd);
	if(ret==SUCCESSFUL)
	{
		DispStr_CE(0,0,"请输入新密码:",DISP_POSITION|DISP_CLRSCR);
		gs.qx = 0;
		gs.qy = 2;
		gs.sFont = 0;
		gs.alpha = 0;
		gs.nullEnable = 1;
		gs.pPrompt = "";
		gs.csChar = '_';
		gs.pwChar = '*';
		gs.spChar = 0;
		gs.maxNum = 8;
		gs.minNum = 3;
		gs.minValue = -1;
		gs.maxValue = -1;
		gs.pStr = mima_1;
		gs.retNum = 0;
		gs.qEvent = EXIT_KEY_F1;
		if (huGetStr_E(&gs)<0) return;
		DispStr_CE(0,4,"请再次输入:",DISP_POSITION);
		gs.qx = 0;
		gs.qy = 6;
	/*	gs.sFont = 0;
		gs.alpha = 0;
		gs.nullEnable = 1;
		gs.pPrompt = "";
		gs.csChar = '_';
		gs.pwChar = '*';
		gs.spChar = 0;
		gs.maxNum = 8;
		gs.minNum = 3;
		gs.minValue = -1;
		gs.maxValue = -1;	*/
		gs.pStr = mima_2;
		gs.retNum = 0;
		gs.qEvent = EXIT_KEY_F1;
		if (huGetStr_E(&gs)<0) return;
		if (strcmp(mima_1,mima_2))
		{
			DispStr_C(0,2,"两次输入不一样",DISP_CENTER|DISP_CLRSCR);
			DispStr_C(0,4,"密码未更改",DISP_CENTER);
		}
		else
		{
			strcpy(g_hd_pwd,mima_1);
			DispStr_C(0,3,"密码更改成功!",DISP_CENTER|DISP_CLRSCR);
		}
		delay_and_wait_key( 2, EXIT_KEY_ALL, 0 );
		return;
	}
}


short sure(int x,int y,unsigned char *str_sel1,unsigned char *str_sel2)
{
	SELE_INLINE	sss;
	short ret;
	
	sss.count = 2;
	sss.line = y;
	sss.qEvent = EXIT_KEY_F1|EXIT_KEY_F3|EXIT_KEY_POWER|EXIT_AUTO_QUIT;
	sss.enable46 = 0;
	sss.flagch = 0;
	sss.defsele = 0;
	sss.selepstr[0].xx = 18;
	sss.autoexit = ac_time;                                		
	strcpy( sss.selepstr[0].pstr, str_sel1 );
	sss.selepstr[1].xx = 65;
	strcpy( sss.selepstr[1].pstr, str_sel2 );
	ret = select_in_line( &sss );
	if(ret==0||ret==1) return 	ret;
	else{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -