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

📄 report2.lst

📁 用keil开发的.单片机税控器程序.单片机用的是AT公司的.upsd3245
💻 LST
📖 第 1 页 / 共 4 页
字号:
 433                  uchar i=0,InitKey[3];
 434                  gyt4 *Inv;
 435          
 436                  ulong delay = 0xffff;
 437          
 438                  Itarr(InitKey);
 439          
 440                  WindowsSet(11);
 441                  if(dts == 1)                    //要显示提示则将disTS=1否则不显示提示
 442                          DisHint("指定时间段内的","<<单卷发票使用>>报表","按[确认]开始查找...");
 443          //发票代码
 444          
 445                  strcpy(&WinHint[0][1],"发票代码:");//copy 发票代码 to WinHint[0][0]
 446                  BcdToStr(10,&indat[0],&WinHint[1][1],0);
 447          
 448          //发票起始号
 449                  strcpy(&WinHint[2][1],"发票起始号:");//copy 发票代码到Inv2
 450                  Inv=&indat[10];
 451                  NumToStr(Inv->dat,&WinHint[2][12],0);
 452          
 453          //发票终止号
 454                  strcpy(&WinHint[3][1],"发票终止号:");
 455                  Inv=&indat[14];
 456                  NumToStr(Inv->dat,&WinHint[3][12],0);
 457          
 458          //正常发票份数
 459                  strcpy(&WinHint[4][1],"正常发票份数:");
 460                  if(indat[18] == 0)
 461                          strcpy(&WinHint[4][14],"0");
 462                  else
 463                          NumToStr(indat[18],&WinHint[4][14],0);
 464          
 465          //退票份数
 466                  strcpy(&WinHint[5][1],"退票份数:");
 467                  if(indat[19] == 0)
 468                          strcpy(&WinHint[5][10],"0");
 469                  else
 470                          NumToStr(indat[19],&WinHint[5][10],0);
 471          
 472          //废票份数
C51 COMPILER V8.01   REPORT2                                                               03/28/2006 09:49:28 PAGE 9   

 473                  strcpy(&WinHint[6][1],"废票份数:");
 474                  if(indat[20] == 0)
 475                          strcpy(&WinHint[6][10],"0");
 476                  else
 477                          NumToStr(indat[20],&WinHint[6][10],0);
 478          
 479          //正常发票总金额
 480                  strcpy(&WinHint[7][1],"正常总金额:");
 481                  Inv=&indat[21];
 482                  if(Inv->dat == 0)
 483                          strcpy(&WinHint[7][12],"0.00");
 484                  else
 485                          NumToStr(Inv->dat,&WinHint[7][12],5);
 486          
 487          //退票总金额
 488                  strcpy(&WinHint[8][1],"退票总金额:");
 489                  Inv=&indat[25];
 490                  if(Inv->dat == 0)
 491                          strcpy(&WinHint[8][12],"0.00");
 492                  else
 493                          NumToStr(Inv->dat,&WinHint[8][12],5);
 494          
 495          //开票起始日期
 496                  strcpy(&WinHint[9][1],"开票起始日期:");
 497                  BcdToStr(4,&indat[29],&WinHint[9][14],0);
 498          
 499          //开票截止时间
 500                  strcpy(&WinHint[10][1],"开票截止时间:");
 501                  BcdToStr(4,&indat[33],&WinHint[10][14],0);
 502          
 503                  if(dts == 1 || dts == 0)                //显示
 504                  {
 505                          Windows(1,0,InitKey);
 506                          return *InitKey;
 507                  }
 508                  if(dts == 2 || dts == 3)                //打印
 509                  {
 510                          if(dts == 3)
 511                                  PrintLine("指定时间段内的单卷发票使用汇总数据报表");
 512                          else
 513                                  PrintLine("单卷发票使用汇总数据报表");
 514                          for(i=0;i<11;i++)
 515                                  PrintStr(&WinHint[i][1]);//打印
 516                          PrintLine("");
 517                          PrintStr("电子存根");
 518          
 519                          while(--delay);
 520                  }
 521          }
 522          */
 523          
 524          /*--------------------------------------------------------------------------
 525                                                                                                  提示对话
 526          '/':表示做为不延时,用法:在第个提示栏中只在带有'/'即不显示延时,但'/'后面的
 527                  内容将不做显示
 528          --------------------------------------------------------------------------*/
 529          void ReHint(uchar *Dialog1,uchar *Dialog2)
 530          {
 531   1              uchar code pic1[]={
 532   1              /*--  宽度x高度=24x24  --*/
 533   1              0x00,0x80,0xC0,0xE0,0xF0,0x78,0x3C,0x1E,0x0F,0x67,0xF7,0xF7,0xF7,0x67,0x0F,0x1E,
 534   1              0x3C,0x78,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x07,0x0F,0x1F,0x3F,0x70,0xE0,0xC0,
C51 COMPILER V8.01   REPORT2                                                               03/28/2006 09:49:28 PAGE 10  

 535   1              0x80,0x00,0x7E,0x7E,0x7E,0x00,0x80,0xC0,0xE0,0x70,0x3F,0x1F,0x0F,0x07,0x00,0x00,
 536   1              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x27,0x43,0x01,
 537   1              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 538   1              };
 539   1              uchar i=0,Dialbuff[30];
 540   1              ulong val=0x2FFF;
 541   1      
 542   1              for(i=0;i<24;i++)
 543   1              {
 544   2                      Dialbuff[i]=Dialog2[i];
 545   2              }
 546   1      
 547   1              LcdDisplay(8,72,"信  息",3);
 548   1              ShowPicture(0,30,24,54,pic1);//显示图标
 549   1              for(i=0;i<4;i+=3)
 550   1                      DisplayFullRec(i,i,63-i,191-i,1);
 551   1              LcdDisplay(32,8,Dialog1,0);
 552   1      
 553   1              for(i=0;i<24;i++)
 554   1              {
 555   2                      if(Dialbuff[i] == '/')
 556   2                      {
 557   3                              Dialbuff[i] = 0;
 558   3                              LcdDisplay(48,8,Dialbuff,0);
 559   3                              return;
 560   3                      }
 561   2              }
 562   1              LcdDisplay(48,8,Dialog2,0);
 563   1              while(--val)
 564   1              {
 565   2                      if(GetKey()!=0xFF)
 566   2                      return;
 567   2              }
 568   1      }
 569          ////////////////////////发票数据的显示与打印选择//////////////////////////
 570          //    flag = 1:单卷发票使用汇总
 571          //              flag = 2:发票打印数据
 572          //              flag = 3:日交易数据
 573          //              flag = 4:监控数据
 574          //              flag = 5:申报备份数据
 575          //              flag = 6:营业员销售额营业员的XZ报表查询
 576          //              flag = 7:已分发的发票查询
 577          //              flag = 8:已录入的发票查询
 578          //              flag = 9:全部营业员的XZ报表
 579          ///////////////////////////////////////////////////////////////////////////
 580          
 581          void InvDisAndPrint(uchar flag,uchar *dat,uchar xz,uchar *Number)
 582          {
 583   1              uchar i = 0,k = 0;
 584   1              while(1)
 585   1              {
 586   2      
 587   2                      i = ReSelectMode();
 588   2                      switch(i)
 589   2                      {
 590   3                              case 1:
 591   3                                      switch(flag)
 592   3                                      {
 593   4                                              case 1:
 594   4                                              case 2:
 595   4                                              case 3:
 596   4                                              case 5:
C51 COMPILER V8.01   REPORT2                                                               03/28/2006 09:49:28 PAGE 11  

 597   4                                                      k = 0;
 598   4                                                      break;
 599   4                                              case 4:
 600   4                                              case 6:
 601   4                                              case 7:
 602   4                                              case 8:
 603   4                                              case 9:
 604   4                                                      k = 1;
 605   4                                                      break;
 606   4                                              default:break;
 607   4                                      }
 608   3                                      break;
 609   3                              case 2:
 610   3                                      if(PrintHint())
 611   3                                      {
 612   4                                              switch(flag)
 613   4                                              {
 614   5                                                      case 1:
 615   5                                                      case 2:
 616   5                                                      case 3:
 617   5                                                      case 5:
 618   5                                                              k = 2;
 619   5                                                              break;
 620   5                                                      case 4:
 621   5                                                      case 6:
 622   5                                                      case 7:
 623   5                                                      case 8:
 624   5                                                      case 9:
 625   5                                                              k = 0;
 626   5                                                              break;
 627   5                                                      default:break;
 628   5                                              }
 629   4                                      }
 630   3      //                              else return;//在进入打印选项时没有按确认键而按退出键则直接退出不进行打印操作
 631   3                                      else k = 0xff;
 632   3                                      break;
 633   3                              default: return;
 634   3                      }
 635   2      
 636   2                      switch(flag)
 637   2                      {
 638   3                              case 1:
 639   3                                      AppointInvdis(k,dat);//发票便用汇总显示
 640   3                                      break;
 641   3                              case 2:
 642   3                                      InvPrintData(k,xz,dat);//发票打印数据显示
 643   3      //                              UartTxd(27,dat);
 644   3                                      break;
 645   3                              case 3:
 646   3                                      DayCollDataDisplay(k,dat);//日交易数据在LCD上显示
 647   3                                      break;
 648   3                              case 4:
 649   3                                      WatchManageData(k);//监控数据显示
 650   3                                      break;
 651   3                              case 5:
 652   3                                      ReportData(k,dat);//申报备份数据显示
 653   3                                      break;
 654   3                              case 6:
 655   3                                      OnLcdYingYiYuangJie(k,dat,xz,Number);//营业员金额
 656   3                                      break;
 657   3                              case 7:
 658   3                                      FenFademand(k);         //已分发发票查询
C51 COMPILER V8.01   REPORT2                                                               03/28/2006 09:49:28 PAGE 12  

 659   3                                      break;
 660   3                              case 8:

⌨️ 快捷键说明

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