Sub PrintQRcodeEgais_(bar As String)
Dim i, j As Byte
Dim DataHex As String
Const size As Byte = 128
On Error Resume Next
DataHex = Trim(TextToHex(bar))
i = 1
j = 0
Do 'загрузка блоков данных по 128 байт
OleFP.BlockType = 0
OleFP.BlockNumber = j
OleFP.BlockDataHex = Mid(DataHex, i, size)
OleFP.Password = 30
fp = OleFP.LoadBlockData()
If OleFP.ResultCode <> 0 Then MsgBox "LoadBlockData: " + OleFP.ResultCodeDescription
i = i + size
j = j + 1
Loop While Len(Mid(DataHex, i, size)) > 0
'------------------------------
OleFP.Password = 30
fp = OleFP.OpenNonFiscalDocument()
OleFP.UseReceiptRibbon = True
OleFP.UseJournalRibbon = False
OleFP.StringForPrinting = ""
fp = OleFP.PrintString()
OleFP.StringForPrinting = " Тest QR-code:"
fp = OleFP.PrintString()
'------------------------------
OleFP.BarcodeType = 3
OleFP.BarcodeDataLength = Len(DataHex) / 2
OleFP.BarcodeStartBlockNumber = 0
OleFP.BarcodeParameter1 = 0
OleFP.BarcodeParameter2 = 0
OleFP.BarcodeParameter3 = 8
OleFP.BarcodeParameter4 = 0
OleFP.BarcodeParameter5 = 0
OleFP.BarcodeAlignment = 0
OleFP.Password = 30
fp = OleFP.Print2DBarcode()
If OleFP.ResultCode <> 0 Then MsgBox "Print2DBarcode: " + OleFP.ResultCodeDescription
'------------------------------
For i = 1 To 3
OleFP.StringForPrinting = ""
fp = OleFP.PrintString()
Next
fp = OleFP.CloseNonFiscalDocument()
End Sub
Private Function TextToHex(ByVal strText As String) As String ' © BV (Boris Vorontsov,
borisbox@mail.ru)
Dim strOut As String
Dim strTmp As String
Dim i As Long
On Error GoTo Error:
For i = 1 To Len(strText)
strTmp = Hex$(Asc(Mid$(strText, i, 1)))
strOut = strOut & IIf(Len(strTmp) = 1, "0" & strTmp, strTmp)
Next i
TextToHex = Trim$(strOut)
Error:
If Err.Number <> 0 Then
MsgBox Err.Description, vbOKOnly Or vbCritical Or vbApplicationModal, "Error #" & Err.Number
End If
End Function