Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16053
  • 博文数量: 7
  • 博客积分: 280
  • 博客等级: 二等列兵
  • 技术积分: 90
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-02 20:38
文章分类

全部博文(7)

文章存档

2011年(1)

2009年(6)

我的朋友
最近访客

分类:

2009-06-06 20:58:15

因公司撕票式业务发展,需要改造撕票式保单打印程序
编程语言:选择VB
打印机型号:EPSON,实达
串口访问:通过VB的MSComm控件
 
一,EPSON打印机,指令打印方式:
  '控件初始化
  MSComm1.CommPort = 1
  MSComm1.Settings = "9600,n,8,1" '设置波特率等参数
  MSComm1.Handshaking = comRTSXOnXOff  '设置串口流控comRTSXOnXOff
  MSComm1.OutBufferSize = 800  '设置输出缓冲
 '''''''''''''''''''''''''''''''''''''''''''''''''''''
 '由于win2k/xp中若有打印机占用串口,则无法打开串口控件
 '所以在使用控件前,将这些打印机占用的串口改变为FILE:
 '更改端口使用win32API的changeport函数
 '记住:在关闭串口控件后,应将这些打印机端口改回来。
 '''''''''''''''''''''''''''''''''''''''''''''''''''''
  If MSComm1.PortOpen = False Then
        
      MSComm1.PortOpen = True '打开串口
        
  End If

  '送打印机打印内容
        
   MSComm1.Output = vbCrLf
        
   MSComm1.Output = "需要打印的内容" & vbCrLf
      
   '送打印机查找黑标命令FS ( L
   ReDim FindBlackMark(0 To 6) As Byte
   FindBlackMark(0) = &H1C
   FindBlackMark(1) = &H28
   FindBlackMark(2) = &H4C
   FindBlackMark(3) = &H2
   FindBlackMark(4) = &H0
   FindBlackMark(5) = &H42
   FindBlackMark(6) = &H31
   MSComm1.Output = FindBlackMark '送打印机查找黑标命令
        
   '送打印机切纸命令 GS V 1
   ReDim CutPaper(0 To 2) As Byte
   CutPaper(0) = &H1D
   CutPaper(1) = &H56
   CutPaper(2) = &H0
   MSComm1.Output = CutPaper '送打印机切纸命令
       
  If MSComm1.PortOpen = True Then
        
      MSComm1.PortOpen = False '关闭串口
        
   End If
二,实达打印机,指令打印方式:
  '控件初始化
  MSComm1.CommPort = 1
  MSComm1.Settings = "9600,n,8,1" '设置波特率等参数
  MSComm1.Handshaking = comXOnXoff '设置串口流控comXOnXoff
  MSComm1.OutBufferSize = 800  '设置输出缓冲
  If MSComm1.PortOpen = False Then
        
      MSComm1.PortOpen = True '打开串口
        
  End If
 
  '送打印机打印内容
        
   MSComm1.Output = vbCrLf
        
   MSComm1.Output = "需要打印的内容" & vbCrLf
 
  '送打印机查找黑标命令1D 0C
  ReDim FindBlackMark(0 To 1) As Byte
  FindBlackMark(0) = &H1D
  FindBlackMark(1) = &HC
  MSComm1.Output = FindBlackMark '送打印机查找黑标命令
 
  '送打印机切纸命令 1D 56 01
   ReDim CutPaper(0 To 2) As Byte
   CutPaper(0) = &H1D
   CutPaper(1) = &H56
   CutPaper(2) = &H1
   MSComm1.Output = CutPaper '送打印机切纸命令
 
  If MSComm1.PortOpen = True Then
        
      MSComm1.PortOpen = False '关闭串口
        
   End If
阅读(832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~