vb6控制ESC/POS指令打印

QQ:954486673

微信:13822155058

淘宝:https://shop73172356.taobao.com/

Public Type DOCINFO
  pDocName As String
  pOutputFile As String
  pDatatype As String
End Type

    

Public CR As String

Public Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long

Public Declare Function EndDocPrinter Lib "winspool.drv" (ByVal  hPrinter As Long) As Long

Public Declare Function EndPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long

Public Declare Function OpenPrinter Lib "winspool.drv" Alias  "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, ByVal pDefault As Long) As Long

Public Declare Function StartDocPrinter Lib "winspool.drv" Alias  "StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long,   pDocInfo As DOCINFO) As Long

Public Declare Function StartPagePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long

Public Declare Function WritePrinter Lib "winspool.drv" (ByVal  hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, pcWritten As Long) As Long



Public Sub Print_axis(P1 As String, str As String)

       Dim PrintinfByte() As Byte

       Dim lhPrinter As Long

       Dim lReturn As Long

       Dim lpcWritten As Long

       Dim lDoc As Long

       Dim sWrittenData As String

       Dim MyDocInfo As DOCINFO

             

       PrintinfByte = StrConv(str, vbFromUnicode)      '将要打印的信息转化成字节数组,这样才能算出准确的打印长度,直接用len函数不行

       lpcWritten = UBound(PrintinfByte) + 1

      

       CR = Chr(13) & Chr(10)

       lReturn = OpenPrinter(P1, lhPrinter, 0)

       If lReturn = 0 Then

           Exit Sub

       End If

       MyDocInfo.pDocName = "标签"

       MyDocInfo.pOutputFile = vbNullString

       MyDocInfo.pDatatype = vbNullString

       lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)

       Call StartPagePrinter(lhPrinter)

       lReturn = WritePrinter(lhPrinter, ByVal str, lpcWritten, lpcWritten)

       lReturn = EndPagePrinter(lhPrinter)

       lReturn = EndDocPrinter(lhPrinter)

       lReturn = ClosePrinter(lhPrinter)

End Sub



Private Sub Command3_Click()

        Dim printstr as string

        Dim I as integer



        printstr = Chr(27) & Chr(64)  '初始化

        printstr = printstr + Chr(27) & Chr(74) & Chr(23) '执行n/144英寸走纸

       

        For i = 0 To 3  '页头空行

            printstr = printstr + Chr(13) & Chr(10)

        Next

       

        printstr = printstr + "         IC卡补卡票据           "

        printstr = printstr & Chr(27) & Chr(74) & Chr(10)

        printstr = printstr & Chr(27) & Chr(33) & Chr(0)

        printstr = printstr + "--------------------------------"

        printstr = printstr & Chr(27) & Chr(74) & Chr(10)       

        printstr = printstr + "卡号:" + Trim(Text7) + "    姓名:" + Trim(Text2)

        printstr = printstr & Chr(27) & Chr(74) & Chr(25)    

        printstr = printstr + "现金账户补卡:" + Format(Val(Text5), "0.00") + " 元"

        printstr = printstr & Chr(27) & Chr(74) & Chr(25)       

        printstr = printstr + "补贴账户补卡:" + Format(Val(Text10), "0.00") + " 元"

        printstr = printstr & Chr(27) & Chr(74) & Chr(25)       

        printstr = printstr + "收新卡工本费:" + Format(Val(Text6), "0.00") + " 元"

        printstr = printstr & Chr(27) & Chr(74) & Chr(25)       

        printstr = printstr + "补卡时间:" + Format(Now, "YYYY-MM-DD HH:MM:SS")

        printstr = printstr & Chr(27) & Chr(74) & Chr(25)       

        printstr = printstr + "操 作 员:" + Trim(czymc)

        printstr = printstr & Chr(27) & Chr(74) & Chr(25)                

        printstr = printstr + "--------------------------------"

        printstr = printstr & Chr(27) & Chr(74) & Chr(20)

       

        printstr = printstr + FlootInf

        printstr = printstr & Chr(27) & Chr(74) & Chr(10)

       

        For i = 0 To 5   '页脚空行

            printstr = printstr & Chr(13) & Chr(10)

        Next

        printstr = printstr + Chr(27) & Chr(106) & Chr(20)

       

        If cutp > 0 Then printstr = printstr + Chr(27) & Chr(105) '切纸指令

       

        Call Print_axis(PrintName, printstr)            ‘PrintName 打印机名称   printstr 打印的信息     

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vx_13822155058

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值