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

📄 menupro.c

📁 本程序在S3C44B0 uClinux的嵌入式GUI
💻 C
📖 第 1 页 / 共 2 页
字号:
 { int choose0;do{    choose0 = MenuDisplay((BYTE *)Main_1_Menu,7,2);  if(choose0 == -1) break;  switch ( choose0 ) {   case 0: //Main_1_0_MenuPro(); //超级市场           break;	   case 1: //Main_1_1_MenuPro(); //专营专卖           break;   case 2: //Main_1_2_MenuPro(); //百货商店           break;   case 3: //Main_1_3_MenuPro(); //快餐连锁           break;   case 4: //Main_1_4_MenuPro(); //中餐点菜           break;   case 5: //Main_1_5_MenuPro(); //电视直销           break;   case 6: //Main_1_6_MenuPro(); //商业批发           break;  }//end switch }while(1); return 0;} //税控开票int  Main_2_MenuPro( void ) { int choose0; GetTaxStatusAndDisplay( 0 ); //得到 税控状态,在 状态行 显示 "税控 正常 纸卷" ...... do{   choose0 = MenuDisplay((BYTE *)Main_2_Menu,5,2);  if( choose0 == -1 ) break;  switch ( choose0 ) {   case 0: Main_3_2_MenuPro(); //开销售发票           break;   case 1: //Main_3_3_MenuPro(); //开退货发票           break;   case 2: //Main_3_4_MenuPro(); //登记作废票           break;   case 3: GetInvoiceRoll( 1 );  	//登记发票卷           break;   case 4: TaxPaperRollCollect( 1 );	//发票卷汇总           break;  }//end switch }while(1); return 0;} #define   READ_BANKCARD_TIMEOUT_10   10 //税控功能int Main_3_MenuPro( void ) { int choose0,err=0;    char aa[16],errStr[50];   memset(errStr,0,50); /*  time_t starttime;  starttime = time(NULL); //得到时间,为超时  if(difftime(time(NULL),starttime) > READ_BANKCARD_TIMEOUT_10)     return ; */ GetTaxStatusAndDisplay( 0 ); //得到 税控状态,在 状态行 显示 "税控 正常 纸卷" ......  do{   choose0 = MenuDisplay((BYTE *)Main_3_Menu,13,2);  if( choose0 == -1 ) break;  switch ( choose0 ) {   case 0: AppTaxInit(); 			//税控初始化           break;	   case 1: GetInvoiceRoll( 1 ); 	//登记发票卷           break;   case 2: Main_3_2_MenuPro(); //开销售发票           break;   case 3: //Main_3_3_MenuPro(); //开退货发票           break;   case 4: //Main_3_4_MenuPro(); //登记作废票           break;   case 5: TaxPaperRollCollect( 1 ); 	//发票卷汇总           break;   case 6: TaxReport();			//做纳税申报           break;   case 7: GetCtrlData( 1 ); 		//做完税处理           break;                   case 8: TaxCheckPro(); 		//管理员核查           break;                   case 9: DeptNameChange();		//变更企业名称           break;                   case 10: //Main_3_9_MenuPro(); //上税网申报           break;                   case 11://Main_3_10_MenuPro(); //打印测试页           break;                   case 12://Main_3_11_MenuPro(); //加其它功能 	   GetTaxStatusAndDisplay( 1 ); //得到 税控状态,在 状态行 显示 "税控 正常 纸卷" ......            break;                  }//end switch }while(1); return 0;} //银行卡功能int  Main_4_MenuPro( void ) { int choose0; do{   choose0 = MenuDisplay((BYTE *)Main_4_Menu,11,2);  if( choose0 == -1 ) break;  switch ( choose0 ) {   case 0: //Main_4_0_MenuPro(); //受理初始化           break;	   case 1: //Main_4_1_MenuPro(); //进系统签到           break;   case 2: //Main_4_2_MenuPro(); //银行卡消费           break;   case 3: //Main_4_3_MenuPro(); //做消费撤销           break;   case 4: //Main_4_4_MenuPro(); //银行卡退货           break;   case 5: //Main_4_5_MenuPro(); //申办预授权           break;   case 6: //Main_4_6_MenuPro(); //预授权撤销           break;   case 7: //Main_4_7_MenuPro(); //预授权完成           break;   case 8: //Main_4_8_MenuPro(); //交易单查询           break;                   case 9: //Main_4_9_MenuPro(); //与银行结算           break;   case 10: //Main_4_10_MenuPro(); //出系统签退           break;             }//end switch }while(1); return 0;} //退出应用int   Main_5_MenuPro( void ) { int choose0;    choose0 = MenuDisplay((BYTE *)Main_5_Menu,4,2);  switch ( choose0 ) {   case 0: Main_5_0_MenuPro(); //退出进入自检           break;	   case 1: //Main_5_1_MenuPro(); //进入软件升级           break;   case 2: //Main_5_2_MenuPro(); //更新配置文件           break;	   case 3: //Main_5_3_MenuPro(); //关机进入休眠           break;          }//end switch  return 0; } /* struct tt {    int aa;    int bb; };void  TestStruct( struct tt *ttt ) {     //ttt->aa = 12;     ttt->bb = ttt->aa+10; } *///退出进入自检int   Main_5_0_MenuPro( void ) { int choose0; int looptimes = 0; int i = 0;   int kc; //测试键盘返回值   char str_0[17],d_line[33];    //struct tt test_0; do{   TaxStatusDisplay(); //在 状态行 显示 "税控 正常 纸卷" ......  choose0 = MenuDisplay((BYTE *)Main_5_0_manu,13,2);  if( choose0 == -1 ) break;  switch ( choose0 ) {   case 0: //Main_5_0_0_MenuPro(); //串行接口 1           break;	   case 1: //Main_5_0_1_MenuPro(); //密 码 键盘           break;   case 2: printf("printer status:%x\n",LptStatus());           //Main_5_0_2_MenuPro(); //针式打印机           break;	   case 3: Main_5_0_3_MenuPro(); //税控器单元           break;   case 4: //热敏打印机           PrintImage();	   	   PrintSoftStr("------------------------------");           for( i=0;i<6;i++) {              PrintSoftStr("  大唐电信  金融税控收款机");             PrintSoftStr("-----------热敏打印机打印测试行.");           } 	   	   PrintSoftStr("  =======================");           for( i=0;i<6;i++ ) SpaceLine(24);	   	   break;	   case 5: //Main_5_0_5_MenuPro(); //网络通讯口           break;   case 6: //Main_5_0_6_MenuPro(); //客户显示器           memset( str_0,0,17 );           sprintf( str_0,"TEST LCD %d",looptimes++ );           LCD44780_Display( str_0 );           break;	   case 7: //Main_5_0_7_MenuPro(); //点阵显示器           do{           	LCD_Clear('B'); //'W'->白底黑字/'B'->黑底白字           	TC_PressAnyKey();           	LCD_Clear('W'); //'W'->白底黑字/'B'->黑底白字                     sleep( 1 );                LCD_DisplayOneLine( 4,7*6,(BYTE *)"任意键继续,ESC停止.",'D',1,0); 	   	if( TC_WaitUserPressAnyKey( (int)K_ESC ) != -1 )			break;           }while(1);           break;           case 8: Main_5_0_8_MenuPro(); //实 时 时钟     	   break;   case 9: //Main_5_0_9_MenuPro(); //检 查 内存                      //只让用户输入 时分秒, 年月日 从系统读出		   ChangeSystemTime(); //实时时钟中的 时间参数           /*           test_0.aa = 0;                      TestStruct( &test_0 );           printf("struct :%d,%d\n",test_0.aa,test_0.bb);           test_0.aa += 100;           TestStruct( &test_0 );           printf("struct :%d,%d\n",test_0.aa,test_0.bb);           */           break;   case 10: //Main_5_0_10_MenuPro(); //检 查 硬盘           kds_main();           break;	   case 11: //Main_5_0_11_MenuPro(); //检查刷卡器           break;	   case 12: Main_5_0_12_MenuPro(); //检查 键盘           break;  }//end switch }while(1); return 0;}/* #define ModemPort	0  //com 0 #define TaxUnitPort	1  //com 1 #define PinPadPort	2  //com 2 #define DotPrinter	3  //com 3*/ const char HexStr[]={"0123456789ABCDEF"};  //for(i=0;i<2;i++) { //依次显示16进制数据 //	            	tt_str[i*2+1]  = HexStr[TmpStr[TmpStr[2]+1+i]>>4]; //	            	tt_str[i*2+2]= HexStr[TmpStr[TmpStr[2]+1+i] & 0x0f]; //	        	} //税控器单元测试 握手int  Main_5_0_3_MenuPro( void ){ int err = 0,i;  LCD_Clear('W');  LCD_DisplayOneLine(8,0,(BYTE *)"    测试税控单元连接",'D',1,1); //反白显示  LCD_DisplayOneLine(0,0,(BYTE *)"通讯返回:",'D',0,1);  for(i=0;i<3;i++){    if( (err=WorkHandshake()) == 0 )       LCD_DisplayOneLine(2+i*2,24,(BYTE *)"与税控单元连接成功",'D',0,1);    else       LCD_DisplayOneLine(2+i*2,24,(BYTE *)"与税控单元连接失败",'D',0,1);  }  KB_WaitAnyKey(); //等待按任意键  LCD_Clear('W');  return err;}/* //税控器单元int  Main_5_0_3_MenuPro( void ) {  BYTE reader_s[]={0x1b, 0x81, 0x0, 0x05, 0xa1};    BYTE reader_r[64],*pp;    int i,j,k; long time_cnt=0;        pp = (char*)malloc(128);    memset(reader_r,0,10);    LCD_Clear('W');    LCD_DisplayOneLine(8,0,(BYTE *)"    测试税控单元连接",'D',1,1); //反白显示    COM_Init(TaxUnitPort,38400); //for testing IC card reader      LCD_DisplayOneLine(0,0,(BYTE *)"通讯返回:",'D',0,1);        COM_SendString( TaxUnitPort ,reader_s, 5 );    //接收    k = 0;    do {      if( COM_RecvStatus( TaxUnitPort ) ) { //串口 接收指针 头 == 尾->无数据在接收缓冲区          COM_Receive( TaxUnitPort , &reader_r[k++] ); //将数据从接收缓冲区取出->CommonByteC      }    } while(k<(9+10));    for(i=0;i<9;i++){        *(pp+i*3)   = HexStr[reader_r[i] >> 4];        *(pp+i*3+1) = HexStr[reader_r[i] & 0x0f];	*(pp+i*3+2) = ',';    }     *(pp+i*3) = 0;    LCD_DisplayOneLine(2,0,(BYTE *)pp,'D',0,1);    for(i=0;i<10;i++){        *(pp+i*3)   = HexStr[reader_r[i+9] >> 4];        *(pp+i*3+1) = HexStr[reader_r[i+9] & 0x0f];	*(pp+i*3+2) = ',';    }     *(pp+i*3) = 0;    LCD_DisplayOneLine(4,0,(BYTE *)pp,'D',0,1);        free( pp );    KB_WaitAnyKey(); //等待按任意键    LCD_Clear('W');    return 0; } */

⌨️ 快捷键说明

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