📄 printer.lst
字号:
180 2
181 2 //-----------------------
182 2 if(gunidid==0){m=price_a;bbyte=dotmode[decimal_a];} //单价
183 2 else {m=price_b;bbyte=dotmode[decimal_b];}
184 2 if(a5) j=5;
185 2 else if(a2) j=4;
186 2 else j=8;
187 2 for(i=7;i>0;i--)
188 2 { if(i==j) {tt[i]=0x2e;i--;}
189 3 tt[i]=m%10+0x30;m/=10;
190 3 }
191 2 tt[0]=m%10+0x30;
192 2 for(i=0;i<j-1;i++)
193 2 {
194 3 if(tt[i]==0x30) tt[i]=0x20;
195 3 else break;
196 3 }
197 2
198 2 printer(11,"Price/L: ",prnidid);
199 2 printer(3,"Rp. ",prnidid);
200 2 printer(8,&tt[0],prnidid); //打印单价
201 2
202 2 //-----------------------
203 2 tt[0]=0x0a;
204 2 printer(1,&tt[0],prnidid);
205 2
206 2
207 2 printer_time(prnidid); //打印加油日期、时间
208 2 tt[0]=0x0a;
209 2 printer(1,&tt[0],prnidid);
210 2 printer(10,"Product: ",prnidid);
211 2
212 2 //printer(20,&producttype(productnum),prnidid); //油品
213 2
214 2 switch (productnum)
215 2 {
216 3 case 0:
217 3 printer(20,&oiltypes0,prnidid);
218 3 break;
219 3 case 1:
220 3 printer(20,&oiltypes1,prnidid);
221 3 break;
222 3 case 2:
223 3 printer(20,&oiltypes2,prnidid);
224 3 break;
225 3 case 3:
226 3 printer(20,&oiltypes3,prnidid);
227 3 break;
228 3 case 4:
229 3 printer(20,&oiltypes4,prnidid);
230 3 break;
231 3 case 5:
232 3 printer(20,&oiltypes5,prnidid);
233 3 break;
234 3 case 6:
235 3 printer(20,&oiltypes6,prnidid);
236 3 break;
237 3 case 7:
238 3 printer(20,&oiltypes7,prnidid);
239 3 break;
240 3 default:
241 3 printer(20,&oiltypes7,prnidid);
C51 COMPILER V7.00 PRINTER 09/14/2006 16:35:55 PAGE 5
242 3 break;
243 3 }
244 2 tt[0]=0x0a;
245 2 printer(1,&tt[0],prnidid);
246 2 //----------------------------
247 2 printer(11,"Selang No: ",prnidid); //软管号
248 2 if(gunidid==0)
249 2 {
250 3 tt[0]=gunadd_a/16+0x30;
251 3 tt[1]=gunadd_a%16+0x30;
252 3 }
253 2 else
254 2 {
255 3 tt[0]=gunadd_b/16+0x30;
256 3 tt[1]=gunadd_b%16+0x30;
257 3 }
258 2 printer(2,&tt[0],prnidid);
259 2 tt[0]=0x0a;
260 2 printer(1,&tt[0],prnidid);
261 2 //----------------------------------
262 2 printer(12," No.Trans: ",prnidid); //发票编号
263 2 tt[0]=gunadd_a/16+0x30; //这里在编号前+第一条枪的中控号
264 2 tt[1]=gunadd_a%16+0x30;
265 2 if(gunidid==0)m=gun1.ppu;
266 2 else m=gun2.ppu;
267 2 for(i=11;i>1;i--)
268 2 {
269 3 tt[i]=m%10+0x30;m/=10;
270 3 }
271 2 printer(12,&tt[0],prnidid);
272 2 tt[0]=0x0a;
273 2 printer(1,&tt[0],prnidid);
274 2 //----------------------------------
275 2 for(i=0;i<30;i++)
276 2 {
277 3 tt[i]=print_format[i+30];
278 3 }
279 2 printer(30,&tt[0],prnidid); //电话
280 2 tt[0]=0x0a;
281 2 printer(1,&tt[0],prnidid);
282 2 //--------------------------------------
283 2 tt[0]=0x0a;
284 2 printer(1,&tt[0],prnidid);
285 2 for(i=0;i<30;i++)
286 2 {
287 3 tt[i]=print_format[i+0];
288 3 }
289 2 printer(30,&tt[0],prnidid);
290 2 //printer(40,&service_station,prnidid); //打印加油站信息
291 2 tt[0]=0x0a;
292 2 printer(1,&tt[0],prnidid);
293 2
294 2 //------------------------------------
295 2 tt[0]=0x0a;
296 2 printer(1,&tt[0],prnidid);
297 2
298 2 tt[0]=0x1b;tt[1]=0x4a;tt[2]=48; //走空行
299 2 printer(3,&tt[0],prnidid);
300 2 printer(32,"-------------------------------",prnidid);
301 2
302 2
303 2 tt[0]=0x0a;
C51 COMPILER V7.00 PRINTER 09/14/2006 16:35:55 PAGE 6
304 2 printer(1,&tt[0],prnidid);
305 2
306 2 tt[0]=0x1b;tt[1]=0x4a;tt[2]=48; //走空行
307 2 printer(3,&tt[0],prnidid);
308 2
309 2 }
310 1
311 1 }
312 /***********************************************
313 * 功能: 打印加油日期、时间b
314 ***********************************************/
315 void printer_time(uchar prnidid)
316 {
317 1 xdata uchar tt[12];
318 1 tt[0]=0x32;
319 1 tt[1]=0x30;
320 1 tt[2]=ucCurtime[6]/16+0x30;
321 1 tt[3]=ucCurtime[6]%16+0x30;
322 1
323 1 tt[4]=0x2d;
324 1 tt[5]=ucCurtime[4]/16+0x30;
325 1 tt[6]=ucCurtime[4]%16+0x30;
326 1 tt[7]=0x2d;
327 1 tt[8]=ucCurtime[3]/16+0x30;
328 1 tt[9]=ucCurtime[3]%16+0x30;
329 1 tt[10]=0x20;
330 1 tt[11]=0x20;
331 1
332 1 printer(10," Date: ",prnidid);
333 1 printer(12,&tt[0],prnidid);
334 1 //-----------------------------
335 1 tt[0]=0x0a;
336 1 printer(1,&tt[0],prnidid);
337 1
338 1 tt[0]=ucCurtime[2]/16+0x30;
339 1 tt[1]=ucCurtime[2]%16+0x30;
340 1
341 1 tt[2]=0x3a;
342 1 tt[3]=ucCurtime[1]/16+0x30;
343 1 tt[4]=ucCurtime[1]%16+0x30;
344 1 tt[5]=0x3a;
345 1 tt[6]=ucCurtime[0]/16+0x30;
346 1 tt[7]=ucCurtime[0]%16+0x30;
347 1 tt[8]=0x20;
348 1 tt[9]=0x20;
349 1 printer(14," Time: ",prnidid);
350 1 printer(10,&tt[0],prnidid);
351 1
352 1 }
353
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1521 ----
CONSTANT SIZE = 231 ----
XDATA SIZE = ---- 16
PDATA SIZE = ---- ----
DATA SIZE = ---- 41
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -