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

📄 uifax.c

📁 这个是单片机4200的ui程序
💻 C
📖 第 1 页 / 共 5 页
字号:
					}
				}
			break;
		case PANEL_NUM0:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM0);
			break;
		case PANEL_NUM1:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM1);
			break;
		case PANEL_NUM2:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM2);
			break;
		case PANEL_NUM3:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM3);
			break;
		case PANEL_NUM4:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM4);
			break;
		case PANEL_NUM5:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM5);
			break;
		case PANEL_NUM6:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM6);
			break;
		case PANEL_NUM7:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM7);
			break;
		case PANEL_NUM8:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM8);
			break;
		case PANEL_NUM9:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM9);
			break;
		case PANEL_STAR:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_STAR);
			break;
		case PANEL_SHARP:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_SHARP);
			break;
		case PANEL_PAUSE:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_PAUSE);
			break;
		default:
			break;
		}
//		sprintf(buf,"%-20s\n%-20s",firstlinebuf,secondlinebuf);
//		DisplayLCD(0, buf, strlen(buf));
		LCDDisplayClear();
		if(setconfirm == TRUE)
			{
			DisplayLCD(0, firstlinebuf, LEFT,FALSE);
			DisplayLCD(1, secondlinebuf, LEFT,FALSE);
			LCDCursorPos(curindex, 1);
			}
		else
			{
			DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
			DisplayLCD(1, secondlinebuf, AlignL2,TRUE);
			}
}
/*
void MultiDialInput2(Uint8 action)
{
    	char *showbuf;
	char *buftemp;
//	char buf[42];
	Uint8 bufcount;
	P_MAIN_MENU_LIST currentmenu;
	Uint8 AlignL1,AlignL2;

	currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;

	AlignL1 = currentmenu->firstline;
	AlignL2 = currentmenu->secondline;
	
	switch(action)
		{
		case PANEL_ARROWRIGHT:
			if(setconfirm == TRUE)
				{
				bufcount = strlen(inputbuf);
				if(inputindex == bufcount)
					break;
				else
					{
					inputindex++;
					if(curindex <LCD_LINE_MAX-1)
						EditorCursorPlus();//curindex++
					}
				if(inputindex>=LCD_LINE_MAX-1)
					showbuf= inputbuf+inputindex-(LCD_LINE_MAX-1);
				else
					showbuf = inputbuf;
				
				strcpy(buftemp,GetMsgData(DISP_FAX));				
				sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
				strcpy(secondlinebuf,showbuf);
				}
			else
				{
				if(step == 0)
					{
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				else
					{
					udefault++;
					if( udefault>max)
						udefault = min;						
					strcpy(firstlinebuf,GetMsgData(DISP_ANOTHER_NO));
					strcpy(secondlinebuf,GetMsgData(Ms_YesNo[udefault]));
					}
				}
			break;
		case PANEL_ARROWLEFT:
			if(setconfirm == TRUE)
				{
				bufcount = strlen(inputbuf);						
				if(inputindex>0)
					{
					inputindex--;
					if(inputindex<LCD_LINE_MAX-1)
						EditorCursorMinus();//curindex--
					}
				if(inputindex == bufcount-1)
					inputbuf[inputindex]=0;
				if(inputindex>=LCD_LINE_MAX)
					showbuf = inputbuf+inputindex-LCD_LINE_MAX;
				else
					showbuf = inputbuf;
				strcpy(buftemp,GetMsgData(DISP_FAX));				
				sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
				strcpy(secondlinebuf,showbuf);
				}
			else
				{
				if(step == 0)
					{
					strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
					strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
					}
				else
					{
					if( udefault==min)
						udefault = max;
					else
						udefault--;						
					strcpy(firstlinebuf,GetMsgData(DISP_ANOTHER_NO));
					strcpy(secondlinebuf,GetMsgData(Ms_YesNo[udefault]));
					}
				}
			break;
		case PANEL_BACK:
			if(setconfirm == TRUE)
				{
				setconfirm = FALSE;
				}
			LCDCursorOff();
			strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
			strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
			break;
		case PANEL_SELECT:
			if(setconfirm == FALSE)
				{
				if(step == 2)
					{
					memset(inputbuf, 0, sizeof(inputbuf));
					dialcount = 0;
					strcpy(buftemp,GetMsgData(DISP_FAX));				
					sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
					strcpy(secondlinebuf,inputbuf);
					CharSymbolTableInitial(chSymTbl, INPUT_NUM);
					LCDCursorOn();
					presscount = 0;
					setconfirm = TRUE;
					inputindex = 0;
					curindex = 0;
					min = currentmenu->item_min;
					max = currentmenu->item_max;
					udefault = 1;
					EditorCursorShow(curindex);
					}
				else
					{
					if(udefault == 1)
						{
						dialcount++;
						if(dialcount == 9)
							step = 4;
						strcpy(buftemp,GetMsgData(DISP_FAX));				
						sprintf(firstlinebuf,"%s[%d]:",buftemp,dialcount+1);
						strcpy(secondlinebuf,inputbuf);
						CharSymbolTableInitial(chSymTbl, INPUT_NUM);
						LCDCursorOn();
						setconfirm = TRUE;
						inputindex = 0;
						curindex = 0;
						EditorCursorShow(curindex);
						}
					else
						{
						step = 0;
						if(setconfirm == TRUE)
							{
							setconfirm = FALSE;
							}
						LCDCursorOff();
						strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
						strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
						}
					}
				}
			else
				{
				if(strlen(inputbuf) != 0)
					{
					strcpy(gMFPSettingNvram.Fax.JunkfaxStp.JunkDial[dialcount],inputbuf);
					memset(inputbuf, 0, sizeof(inputbuf));
					LCDCursorOff();
					setconfirm = FALSE;
					lastbutton = PANEL_NONE;
					if(step == 4)
						{
						step = 0;
						if(setconfirm == TRUE)
							{
							setconfirm = FALSE;
							}
						LCDCursorOff();
						strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
						strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
						}
					else
						{
						step = 3;
						strcpy(firstlinebuf,GetMsgData(DISP_ANOTHER_NO));
						strcpy(secondlinebuf,GetMsgData(Ms_YesNo[udefault]));
						}
					}
				}
			break;
		case PANEL_NUM0:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM0);
			break;
		case PANEL_NUM1:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM1);
			break;
		case PANEL_NUM2:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM2);
			break;
		case PANEL_NUM3:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM3);
			break;
		case PANEL_NUM4:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM4);
			break;
		case PANEL_NUM5:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM5);
			break;
		case PANEL_NUM6:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM6);
			break;
		case PANEL_NUM7:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM7);
			break;
		case PANEL_NUM8:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM8);
			break;
		case PANEL_NUM9:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_NUM9);
			break;
		case PANEL_STAR:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_STAR);
			break;
		case PANEL_SHARP:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_SHARP);
			break;
		case PANEL_PAUSE:
			if(setconfirm == TRUE)
				EditorDialInput3(PANEL_PAUSE);
			break;
		default:
			break;
		}
//		sprintf(buf,"%-20s\n%-20s",firstlinebuf,secondlinebuf);
//		DisplayLCD(0, buf, strlen(buf));
		LCDDisplayClear();
		if(setconfirm == TRUE)
			{
			DisplayLCD(0, firstlinebuf, LEFT,FALSE);
			DisplayLCD(1, secondlinebuf, LEFT,FALSE);
			LCDCursorPos(curindex, 1);
			}
		else
			{
			DisplayLCD(0, firstlinebuf, AlignL1,FALSE);
			DisplayLCD(1, secondlinebuf, AlignL2,TRUE);
			}
}
*/

void CharInputType(Uint8 action)
{
    	char *showbuf;
	char buftemp[5];
//	char buf[42];
	Uint8 bufcount;
	P_MAIN_MENU_LIST currentmenu;
	Uint8 AlignL1,AlignL2,inputmax;
	
	currentmenu = gpMenudata ->ml + gpMenudata ->mlIndex;

	AlignL1 = currentmenu->firstline;
	AlignL2 = currentmenu->secondline;

	switch(action)
		{
		case PANEL_ARROWRIGHT:
			if(setconfirm == TRUE)
				{
				bufcount = strlen(inputbuf);
				
				if(currentmenu->dispID == DISP_MACHINE_ID)
					inputmax = MACHINE_ID_NAME_LENGTH;
				else
					inputmax = NAME_CHAR_MAX;
				
				if(inputindex<inputmax)
					{
					if(inputindex>bufcount-1)
						inputbuf[inputindex] = 0x20;
					inputindex++;
					if(curindex <LCD_LINE_MAX-1)
						EditorCursorPlus();//curindex++
					lastbutton = PANEL_ARROWRIGHT;
					curjump = FALSE;
					}
				if(inputindex>=LCD_LINE_MAX)
					showbuf = inputbuf+inputindex-(LCD_LINE_MAX-1);
				else
					showbuf = inputbuf;
				
				if(currentmenu->dispID == DISP_MACHINE_ID||currentmenu->dispID == DISP_DELAY_FAX)
					{
					strcpy(buftemp,GetMsgData(DISP_MYTECS_REPFAX_ID));
					sprintf(firstlinebuf,"%s:           %s",buftemp,inputflag[flag]);
					}
				else
					{
					strcpy(buftemp,GetMsgData(DISP_NAME));
					sprintf(firstlinebuf,"%s:         %s",buftemp,inputflag[flag]);
					}
				sprintf(secondlinebuf,"%s",showbuf);
				}
			else
				{
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			break;
		case PANEL_ARROWLEFT:
			if(setconfirm == TRUE)
				{
				bufcount = strlen(inputbuf);
				if(inputindex<LCD_LINE_MAX)
					EditorCursorMinus();//curindex--
				if(inputindex>0)
					{
					inputindex--;					
					}
				if((curindex==bufcount&&curindex>0)||inputindex == bufcount-1)
					{
					inputbuf[inputindex]=0;
					}
				curjump = FALSE;
				if(inputindex>=LCD_LINE_MAX)
					showbuf = inputbuf+inputindex-LCD_LINE_MAX;
				else
					showbuf = inputbuf;
				
				if(currentmenu->dispID == DISP_MACHINE_ID||currentmenu->dispID == DISP_DELAY_FAX)
					{
					strcpy(buftemp,GetMsgData(DISP_MYTECS_REPFAX_ID));
					sprintf(firstlinebuf,"%s:           %s",buftemp,inputflag[flag]);
					}
				else
					{
					strcpy(buftemp,GetMsgData(DISP_NAME));
					sprintf(firstlinebuf,"%s:         %s",buftemp,inputflag[flag]);
					}
				sprintf(secondlinebuf,"%s",showbuf);
				}
			else
				{
				strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
				strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
				}
			break;
		case PANEL_BACK:
			if(setconfirm == TRUE)
				{
				setconfirm = FALSE;
				curjump = FALSE;
				lastbutton = PANEL_NONE;
				}
			step = 0;
			LCDCursorOff();
			strcpy(firstlinebuf,GetMsgData(currentmenu->titleID));
			strcpy(secondlinebuf,GetMsgData(currentmenu->dispID));
			break;
		case PANEL_START:
		case PANEL_SELECT:
			if(setconfirm == FALSE)
				{
				memset(inputbuf, 0, sizeof(inputbuf));
				if(currentmenu->dispID == DISP_MACHINE_ID)
					strcpy(inputbuf, gMFPSettingNvram.Common.zIDName);
				if(currentmenu->dispID == DISP_EDIT_PER||currentmenu->dispID == DISP_EDIT_GRP)
					strcpy(inputbuf,phonebook.PBrecord[udefault].sTelName);

				flag = INPUT_CHAR;
				if(currentmenu->dispID == DISP_MACHINE_ID||currentmenu->dispID == DISP_DELAY_FAX)
					{
					strcpy(buftemp,GetMsgData(DISP_MYTECS_REPFAX_ID));
					sprintf(firstlinebuf,"%s:           %s",buftemp,inputflag[flag]);
					}
				else
					{
					strcpy(buftemp,GetMsgData(DISP_NAME));
					sprintf(firstlinebuf,"%s:         %s",buftemp,inputflag[flag]);
					}
				sprintf(secondlinebuf,"%s",inputbuf);
				CharSymbolTableInitial(chSymTbl, flag);
				LCDCursorOn();
				setconfirm = TRUE;
				presscount = 0;
				inputindex = 0;
				curindex = 0;
				EditorCursorShow(curindex);
				lastbutton = PANEL_NONE;
				curjump=FALSE;
				}
			else
				{
				if(strlen(inputbuf) != 0)
					{
					if(currentmenu->dispID == DISP_MACHINE_ID)
						{
						strcpy(firstlinebuf,GetMsgData(DISP_SAVED));							
						LCDDisplayClear();

⌨️ 快捷键说明

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