📄 keyboard.lst
字号:
356 /************************************************************
357 * KEYB_SOLVE
358 * 功能:按键处理函数
359 *************************************************************/
360 void keyb_solve(void)
361 {
362 1 void *pt;
363 1
364 1 if(keyok_b && keyinput_b==0)
365 1 { //data uchar ucCurtime[7]; //日期--时间
C51 COMPILER V7.00 KEYBOARD 09/14/2006 16:35:50 PAGE 7
366 2
367 2 keyok_b=0;
368 2 switch (keysolve_b)
369 2 { case 1: //钮:TOTAL
370 3 if(k2key)
371 3 {
372 4 if(state2==0){state2=06;ration_mode_b=1;menu2=2;disp_total_b();break;}
373 4 if(state2==6){if(menu2==1)menu2=2;else menu2=1;disp_total_b();break;}
374 4 }
375 3 else
376 3 {
377 4 if(state2==0){state2=7;ration_mode_b=0;menu2=2;disp_total_b();break;}
378 4 }
379 3 break;
380 3 case 2: //钮:MENU
381 3 if(k2key && !locknooil_b)
382 3 { if(state2==0){temp_memb=1;state2=4;menu2=1;disp_memu2_oil();}
383 4 else if(state2==4){menu2++;if(menu2>7)menu2=1;multiple_b=1;ration_num_b=0;disp_memu2_oil();}
384 4 if(state2==4 && menu2==4){temp_memb=1;disp_lock_b();}
385 4 }
386 3 else //设置
387 3 { ration_num_b=0;
388 4 if(state2==0){state2=3;menu2=1;disp_memu2_set();}
389 4 else if(state2==3){temp_memb=0;menu2++;if(menu2>10)menu2=1;if(state2==3 && menu2==10)multiple_b=1;di
-sp_memu2_set();}
390 4 else if(state2==8){menu2++;if(menu2>4)menu2=1;disp_memu2_important();}
391 4 if(state2==3 && menu2==8)
392 4 { bbyte=dotmode[decimal_b];
393 5 if (a2) multiple_b=1000;
394 5 else if(a5) multiple_b=100;
395 5 else multiple_b=1;
396 5 ration_num_b=0;
397 5 setdotok_b=0;
398 5 }
399 4
400 4 }
401 3 break;
402 3 case 3: //钮:ENTER
403 3 //if(state2==2) {state2=0;break;}
404 3 if(state2==4 && menu2==2)
405 3 { if(pass_check(1))
406 4 { if(locknooil_b){state2=0;locknooil_b=0;prn2time=1;disp_return_b();}
407 5 else {locknooil_b=1;multiple_b=1;ration_num_b=0;disp_lock_b();}
408 5 }
409 4 else if(!locknooil_b){state2=0;prn2time=1;disp_return_b();}
410 4 else {locknooil_b=1;multiple_b=1;ration_num_b=0;disp_lock_b();}
411 4 break;
412 4 }
413 3 if(state2==4 && menu2==4)
414 3 { if(pass_check(1) || temp_memb==2)
415 4 { if(temp_memb==1){temp_memb=2;ration_num_b=0;multiple_b=1;ration_num_b=0;}
416 5 else if(temp_memb==2){temp_memb=3;ration_pulse_b=ration_num_b;multiple_b=1;ration_num_b=0;} //新密码
-暂存
417 5 else if(temp_memb==3){temp_memb=4;}
418 5 disp_lock_b();
419 5 }
420 4 else{state2=0;prn2time=1;disp_return_b();}
421 4 break;
422 4 }
423 3 if(state2==3 && menu2==10)
424 3 { if(ration_num_b==5604 && multiple_b==10000)setpas_b=1;
425 4 else setpas_b=0;
C51 COMPILER V7.00 KEYBOARD 09/14/2006 16:35:50 PAGE 8
426 4 if((ration_num_b==4321 || ration_num_b==5604) && multiple_b==10000){state2=8;menu2=1;disp_memu2_impor
-tant();}
427 4 }
428 3 break;
429 3 case 4: //钮:EXIT
430 3 switch(state2)
431 3 { case 2:
432 4 if(state2==2) {state2=0;ration_num_b=0;clr_exitdata_b();disp_key_clear_b();} //
433 4 break;
434 4 case 0:
435 4 //if(state2==0) {clr_exitdata_b();} //取消授权
436 4 //else {state2=0;prn2time=1;}
437 4 break;
438 4 case 1:
439 4 break;
440 4 default:
441 4 if(!locknooil_b){state2=0;prn2time=1;disp_return_b();}
442 4 break;
443 4 }
444 3 if(save_ok){save_ok=0;backup_sysdata();}
445 3 break;
446 3 case 5: //PPU
447 3 print_proof(1); //打印加油票据B
448 3 break;
449 3 case 6: //钮:7
450 3 vipstart2();
451 3 switch (state2)
452 3 { case 2:
453 4 if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=7*multiple_b;}}
454 4 else {if(multiple_b!=0) {ration_num_b+=7*multiple_b;multiple_b/=10;}}
455 4 disp_vip_b();
456 4 break;
457 4 case 4:
458 4 if(menu2==1) disp_eeprom_history(1,7); //查询前10次
459 4 else if(menu2==2 || menu2==4){ration_num_b+=7*multiple_b;if(multiple_b<10000) multiple_b*=10;disp_loc
-k_b();}
460 4 break;
461 4 case 3:
462 4 if(menu2==8)
463 4 {
464 5 if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=7*multiple_b;}}
465 5 else {if(multiple_b!=0) {ration_num_b+=7*multiple_b;multiple_b/=10;}}
466 5 price_b=ration_num_b; //设置的单价
467 5 disp_memu2_set();
468 5 }
469 4 //if(menu2==9) set_time(7);
470 4 if(menu2==10){ration_num_b+=7*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_pass_vital(1);}
471 4 break;
472 4 case 8:
473 4 if(menu2==2 ||menu2==3){ration_num_b*=10;ration_num_b+=7;disp_memu2_important();}
474 4 break;
475 4 }
476 3 break;
477 3 case 7: //钮:8
478 3 vipstart2();
479 3 switch (state2)
480 3 { case 2:
481 4 if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=8*multiple_b;}}
482 4 else {if(multiple_b!=0) {ration_num_b+=8*multiple_b;multiple_b/=10;}}
483 4 disp_vip_b();
484 4 break;
485 4 case 4:
C51 COMPILER V7.00 KEYBOARD 09/14/2006 16:35:50 PAGE 9
486 4 if(menu2==1) disp_eeprom_history(1,8); //查询前10次
487 4 else if(menu2==2 || menu2==4){ration_num_b+=8*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_loc
-k_b();}
488 4 break;
489 4 case 3:
490 4 if(menu2==8)
491 4 {
492 5 if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=8*multiple_b;}}
493 5 else {if(multiple_b!=0) {ration_num_b+=8*multiple_b;multiple_b/=10;}}
494 5 price_b=ration_num_b; //设置的单价
495 5 disp_memu2_set();
496 5 }
497 4 //if(menu2==9) set_time(8);
498 4 if(menu2==10){ration_num_b+=8*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_pass_vital(1);}
499 4 break;
500 4 case 8:
501 4 if(menu2==2 ||menu2==3){ration_num_b*=10;ration_num_b+=8;disp_memu2_important();}
502 4 break;
503 4 }
504 3 break;
505 3 case 8: //钮:9
506 3 vipstart2();
507 3 switch (state2)
508 3 { case 2:
509 4 if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=9*multiple_b;}}
510 4 else {if(multiple_b!=0) {ration_num_b+=9*multiple_b;multiple_b/=10;}}
511 4 disp_vip_b();
512 4 break;
513 4 case 4:
514 4 if(menu2==1) disp_eeprom_history(1,9); //查询前10次
515 4 else if(menu2==2 || menu2==4){ration_num_b+=9*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_loc
-k_b();}
516 4 break;
517 4 case 3:
518 4 if(menu2==8)
519 4 {
520 5 if(!setdotok_b){if(ration_num_b<100000) {ration_num_b*=10;ration_num_b+=9*multiple_b;}}
521 5 else {if(multiple_b!=0) {ration_num_b+=9*multiple_b;multiple_b/=10;}}
522 5 price_b=ration_num_b; //设置的单价
523 5 disp_memu2_set();
524 5 }
525 4 //if(menu2==9) set_time(9);
526 4 if(menu2==10){ration_num_b+=9*multiple_b;if(multiple_b<10000)multiple_b*=10;disp_pass_vital(1);}
527 4 break;
528 4 case 8:
529 4 if(menu2==2 ||menu2==3){ration_num_b*=10;ration_num_b+=9;disp_memu2_important();}
530 4 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -