专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

为啥POS收银机第一次打印时总出现许多乱码?(以后打印就恢复正常)

发布时间:2010-05-24 21:30:32 文章来源:www.iduyao.cn 采编人员:星星草
为什么POS收银机第一次打印时总出现许多乱码?(以后打印就恢复正常)
    在VFP中通过编程在POS收银机上进行打印票据操作(所使用的POS收银机为“好易通TM牌POS收银机”),但每次开机后第一次打印的票据全部是乱码,而且打印很长,约要打50cm长的乱码才停下。但以后发出打印命令程序后就能打出正常的票据,打印长度也能根据打印内容自动控制。

    在VFP中设计的打印程序为:
SET DEVICE TO PRINTER
@1,7 say "商品销售单" font "宋体" ,9
@2,7 say "商品名:"+spmq1 font "宋体" ,9  &&spmq1为字符型变量
@3,7 say "销售数:"+xqsl1 font "宋体" ,9  &&xqsl1为字符型变量
@4,7 say "商品名:"+spmq2 font "宋体" ,9  &&spmq2为字符型变量
@5,7 say "销售数:"+xqsl2 font "宋体" ,9  &&xqsl2为字符型变量
  ……………………
set printer TO LPT1

   (说明:以上程序在有的POS收银机上能正常运行,但现使用的“好易通TM牌POS收银机”总是在第一次打印时出现半米长的乱码,第二次和以后再打印就没有乱码。)

    敬向电脑专家请教,为何POS收银机第一次打印时总出现许多乱码?该如何修改打印命令程序(或电脑设置)就能解决这一问题?不胜感激!

------解决方案--------------------
你问一下厂商吧。
或者用人家提供的例子试一下,如果人家例子没有此问题,说明你的程序少做了什么操作。
------解决方案--------------------

打印内容前 先发一个初始化命令, 或者把机器设置城EPSON 模式
------解决方案--------------------
标准EPSON POS打印机的ESC/POS命令集
*---------------------------------
ESC/POS命令集  
切纸指令:
发送:十六进制:1B69

4.1 基本控制指令
  4.1.1 ESC @
  [名称] 初始化打印机
  [格式] ASCII码 ESC @
  十六进制码 1B 40
  十进制码 27 64
  [描述] 清除打印缓冲区中的数据,复位打印机打印参数到当打印机缺省参数。
  [注意] * 不是完全恢复到出厂设置,用户参数设置(见三、JPM112打印机工具软件)不会被更改。


  4.1.2 FF
  [名称] 打印并走纸到下页首
  [格式] ASCII码 FF
  十六进制码 0C
  十进制码 12
  [描述] 将打印缓冲区中的数据全部打印出来并返回标准模式。
  [注意] * 打印后,删除打印缓冲区中的数据。
  * 该命令设置打印位置为行的起始点。
  * 如果打印纸有预印刷黑标,则打印缓冲区中的数据后,走纸到黑标处,如果打印纸无黑标,则
  走纸0.5m后停止,预印刷黑标的规范请见附录B.预印刷黑标说明。

  4.1.3 LF
  [名称] 打印并换行
  [格式] ASCII码 LF
  十六进制码 0A
  十进制码 10
  [描述] 把打印缓冲区中的数据打印出来,并换行。
  [注意] * 该命令把打印位置设置为行的开始位置。

  4.1.4 CR
  [名称] 打印并回车
  [格式] ASCII码 CR
  十六进制码 0D
  十进制码 13
  [描述] 打印但不进纸。
  [注意] * 打印结束后,将下一行的开始设定为打印起始位置。   

  4.1.5 ESC J n
  [名称] 打印并进纸
  [格式] ASCII码 ESC J n
  十六进制码 1B 4A n
  十进制码 27 74 n
  [范围] 0 ≤ n ≤ 255
  [描述] 打印输出打印缓冲区中的数据,并进纸n个 垂直点距。
  [注意] * 打印结束后,将下一行的开始设定为打印起始位置。
  * 一个垂直点距为0.33mm,以下同。

  4.1.6 ESC d n
  [名称] 打印并进纸n 行
  [格式] ASCII码 ESC d n
  十六进制码 1B 64 n
  十进制码 27 100 n
  [范围] 0 ≤ n ≤ 255
  [描述] 打印打印缓冲区中的数据并进纸n字符行。
  [注意] * 该命令设置打印起始位置为行起点。

  4.1.7 HT
  [名称] 移动打印位置到下一个水平制表位置
  [格式] ASCII码 HT
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: