📄 report1.lst
字号:
C51 COMPILER V8.01 REPORT1 03/28/2006 09:49:26 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE REPORT1
OBJECT MODULE PLACED IN Report1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Report1.c LARGE OPTIMIZE(9,SIZE) BROWSE DEBUG OBJECTEXTEND CODE
line level source
1 /*
2 * Copyright (c) 2004,成都港顺科技发展有限公司
3 * All rights reserved.
4 *
5 * 编 译 器:Keil:C Compiler:7.20;Assembler:7.10
6 * 工程名称:POS-Test.UV2
7 * 文件名称:ReportPrint1.C
8 * 摘 要:表报打印
9 *
10 * 单 片 机:uPSD3254
11 * 当前版本:0.4
12 * 作 者:雍继兵
13 * 完成日期:2004-12-7 14:45
14 */
15
16 #include "Main.h"
17 #include "Report.h"
18
19 #define Invofenfa 0 //发票分发测试 在实际应用中将此改为0
20
21
22 /*-------------------------------------------------------------------
23 报表主菜单初始化
24 -------------------------------------------------------------------*/
25 void ReMenu1()
26 {
27 1 WindowsSet(6);
28 1 strcpy(&WinHint[0][1],"1.用户信息查询");
29 1 strcpy(&WinHint[1][1],"2.已销售发票信息查询");
30 1 strcpy(&WinHint[2][1],"3.已分发和录入发票查询");
31 1 strcpy(&WinHint[3][1],"4.监控管理数据查询");
32 1 strcpy(&WinHint[4][1],"5.申报备份数据查询");
33 1 strcpy(&WinHint[5][1],"6.营业员销售额查询");
34 1 // strcpy(&WinHint[6][1],"7.税控信息安全报表");
35 1 }
36
37 //void Menu4()
38 //{
39 // uchar i=0;
40 // strcpy(&WinHint[0][1]," 1.单卷发票使用汇总查询");
41 // strcpy(&WinHint[1][1]," 2.发票打印数据查询");
42 // strcpy(&WinHint[2][1]," 3.日交易数据查询");
43 //}
44
45 void ReMenu5()
46 {
47 1 WindowsSet(3);
48 1 strcpy(&WinHint[0][1],"1.机器出厂数据查询");
49 1 strcpy(&WinHint[1][1],"2.用户信息查询");
50 1 strcpy(&WinHint[2][1],"3.税种税目信息查询");
51 1 }
52 void ReMenu6()
53 {
54 1 WindowsSet(3);
55 1 strcpy(&WinHint[0][1],"1.单卷发票使用汇总查询");
C51 COMPILER V8.01 REPORT1 03/28/2006 09:49:26 PAGE 2
56 1 strcpy(&WinHint[1][1],"2.发票打印数据查询");
57 1 strcpy(&WinHint[2][1],"3.日交易数据查询");
58 1
59 1 }
60 void ReMenu7()
61 {
62 1 WindowsSet(4);
63 1 strcpy(&WinHint[0][1],"1.按发票代码查询");
64 1 strcpy(&WinHint[1][1],"2.按发票起始号查询");
65 1 strcpy(&WinHint[2][1],"3.按发票终止号查询");
66 1 strcpy(&WinHint[3][1],"4.按时间段查询");
67 1
68 1 }
69 void ReMenu8()
70 {
71 1 WindowsSet(4);
72 1 strcpy(&WinHint[0][1],"1.按开票日期查询");
73 1 strcpy(&WinHint[1][1],"2.按发票号查询");
74 1 strcpy(&WinHint[2][1],"3.按时间段查询");
75 1 strcpy(&WinHint[3][1],"4.按时间段查询汇总数据");
76 1
77 1 }
78
79 void ReMenu10()
80 {
81 1
82 1 WindowsSet(6);
83 1 strcpy(&WinHint[0][1],"1.税种一");
84 1 strcpy(&WinHint[1][1],"2.税种二");
85 1 strcpy(&WinHint[2][1],"3.税种三");
86 1 strcpy(&WinHint[3][1],"4.税种四");
87 1 strcpy(&WinHint[4][1],"5.税种五");
88 1 strcpy(&WinHint[5][1],"6.税种六");
89 1
90 1 }
91 void ReMenu11()
92 {
93 1
94 1 WindowsSet(2);
95 1 strcpy(&WinHint[0][1],"1.已分发发票查询");
96 1 strcpy(&WinHint[1][1],"2.已录入发票查询");
97 1
98 1 }
99 void ReMenu12()
100 {
101 1 WindowsSet(3);
102 1
103 1 strcpy(&WinHint[0][1],"1.根据起始日期查询");
104 1 strcpy(&WinHint[1][1],"2.根据终止日期查询");
105 1 strcpy(&WinHint[2][1],"3.根据时间段查询");
106 1
107 1 }
108
109 void ReMenu13()
110 {
111 1 WindowsSet(4);
112 1
113 1 strcpy(&WinHint[0][1],"1.单个营业员X报表");
114 1 strcpy(&WinHint[1][1],"2.单个营业员Z报表");
115 1 strcpy(&WinHint[2][1],"3.所有营业员X报表");
116 1 strcpy(&WinHint[3][1],"4.所有营业员Z报表");
117 1 }
C51 COMPILER V8.01 REPORT1 03/28/2006 09:49:26 PAGE 3
118
119 void ReMenu14()
120 {
121 1 WindowsSet(2);
122 1 strcpy(&WinHint[0][1],"1.按当前日期查询");
123 1 strcpy(&WinHint[1][1],"2.按时间段查询");
124 1 }
125
126 /*-------------------------------------------------------------------
127 发票代码初始化菜单
128 -------------------------------------------------------------------*/
129 void ReMenu2()
130 {
131 1 //LCD显示初始化
132 1
133 1 WindowsSet(2);
134 1
135 1 strcpy(&WinHint[0][1],"1.显示方式");
136 1 strcpy(&WinHint[1][1],"2.打印方式");
137 1
138 1 }
139 /*---------------------------------------------------------------------------
140 时间段输入函数
141 ---------------------------------------------------------------------------*/
142 uchar TimeInputDialog(uchar *TimeVal)
143 {
144 1 uchar i=0,ReVal=0,Itfg1=0,Itfg2=0,temp[2];
145 1 gyt4 *Itime1,*Itime2;
146 1 LcdDisplay(0,0,"开始日期:(年/月/日)",3);
147 1
148 1 // for(i=0;i<4;i+=3)
149 1 // DisplayFullRec(i,i,63-i,191-i,1);
150 1
151 1 LcdDisplay(32,0,"结束日期:(年/月/日)",0);
152 1 temp[0]=0;
153 1 temp[1]=0;
154 1 ReVal=GetBcd(16,0,TimeVal,8,temp);//输入的时间放在TimeVal
155 1 if(ReVal != K_HJ)//如果不是确认键则返回功能的按键值
156 1 return ReVal;
157 1 else
158 1 {
159 2 for(i=0;i<4;i++)
160 2 TimeVal[4+i]=0;
161 2 temp[0]=0;
162 2 ReVal=GetBcd(48,0,&TimeVal[4],8,temp);//从第四个位置开始存放结束日期
163 2 }
164 1 if(ReVal != K_HJ)//如果不是确认键则返回功能的按键值
165 1 return ReVal;
166 1 else //如果两次都是按确认键则进入
167 1 {
168 2 Itime1 = TimeVal;
*** WARNING C182 IN LINE 168 OF REPORT1.C: pointer to different objects
169 2 Itfg1 = Verdict(TimeVal);//时间的合法性检查
170 2
171 2 Itime2 = &TimeVal[4];
*** WARNING C182 IN LINE 171 OF REPORT1.C: pointer to different objects
172 2 Itfg2 = Verdict(&TimeVal[4]);//时间的合法性检查
173 2
174 2 if(Itime2->dat > Itime1->dat && Itfg1 && Itfg2)//如果输入的结束时间大于开始时间
175 2 return 1; //且输入的开始时间与结束时间格式正确后方可返回1
176 2 else
177 2 {
C51 COMPILER V8.01 REPORT1 03/28/2006 09:49:26 PAGE 4
178 3 ReHint("时间格式错误!","请重新输入...");
179 3 return 0;
180 3 }
181 2 }
182 1 }
183 /*----------------------------------------------------------------------------
184 BCD码输入对话框
185 ----------------------------------------------------------------------------*/
186 uchar Dialog(uchar *Clew1,uchar *Clew2,uchar *Clew4,uchar Len,uchar *BCD_Val)
187 {
188 1 uchar temp[2],i = 0,ReValue=0;
189 1 LcdDisplay(0,0,Clew1,3);
190 1 LcdDisplay(16,0,Clew2,0);
191 1 LcdDisplay(48,0,Clew4,0);
192 1 temp[0]=0;BCD_Val[0]=0;
193 1 ReValue=GetBcd(32,0,BCD_Val,Len,temp);//ReVal为GetBCD返回的键值
194 1 return ReValue;
195 1 }
196 /*---------------------------------------------------------------------------
197 Hex码输入对话框
198 ----------------------------------------------------------------------------*/
199 ulong HexlongDialog(uchar *Clew1,uchar *Clew2,uchar *Clew4,uchar *Len,ulong Init)
200 {
201 1 ulong Re_Val=0;
202 1 uchar i=0,k=0,tp[2];
203 1
204 1 k = Len[0];
205 1 LcdDisplay(0,0,Clew1,3);
206 1
207 1 // for(i=0;i<4;i+=3)
208 1 // DisplayFullRec(i,i,63-i,191-i,1);
209 1
210 1 LcdDisplay(16,0,Clew2,0);
211 1 LcdDisplay(48,0,Clew4,0);
212 1 tp[0]=0;
213 1 Re_Val=GetInt(32,0,Init,k,0,tp);//当输入返回时得到的LEN为按键值
214 1 *Len = tp[0];//得到所需要的返回值
215 1 return Re_Val;
216 1 }
217
218 /*-----------------------------------------------------------
219 营业员编号对话框
220 //-----------------------------------------------------------*/
221 //uchar BusinessNumber(uchar *Clew1,uchar *Clew2,uchar *Clew3,uchar *Clew4,uchar *Len)
222 //{
223 // uchar Reval=0;
224 // uchar i,tp[2];
225 // i=*Len;
226 // tp[0]=0;
227 // LcdDisplay(0,56,Clew1,3);
228 // LcdDisplay(16,0,Clew2,0);
229 // LcdDisplay(32,0,Clew3,0);
230 // LcdDisplay(48,0,Clew4,0);
231 // Reval = GetInt(16,90,0,i,0,tp);
232 // *Len = tp[0]; //得到所需的返回按键值=功能键
233 // return Reval;
234 //}
235
236 /*------------------------------------------------------------------------------
237 发票代码查询
238 ------------------------------------------------------------------------------*/
239 uchar Res_InvCode(uchar *InInvCode,uchar *ReadInvCode)
C51 COMPILER V8.01 REPORT1 03/28/2006 09:49:26 PAGE 5
240 {
241 1 uchar i,j=0;
242 1 uint x=0;
243 1 gyt2 tp;
244 1 ulong InvCode_address=0;
245 1 InvCode_address=InvoStatBegin;//单卷发票存放的开始地址
246 1
247 1 I2cRead(InvoStatNum,2,tp.str);
248 1
249 1 if(tp.dat == 0)//如果数量为0则直接返回 0 说明没有数据
250 1 return 0;
251 1
252 1 // RePlan(1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -