📄 menupro.c
字号:
{ 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 + -