#Region Project Attributes
#ApplicationLabel: PrintLabel
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: True
#IncludeTitle: False
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
Private btnMenu As Label
Private btnPrev As Button
Private btnNext As Button
Private B4XTable1 As B4XTable
Private anButton As Animation
Private clvSlideMenu As CustomListView
Private mBackPanel As Panel
'/////////////////////////////////// Se utiliza para ampliar el Ancho de la columna
Private cvs As B4XCanvas
Private xui As XUI
Private NameColumn(5) As B4XTableColumn
Private btnConnectPrinter As Button
Private iCantEtiquetas As String = ""
Private dialog As B4XDialog
Private txtCantidad As B4XFloatTextField
Private txtEtiquetas As B4XFloatTextField
Private pnlTitleBar As Panel
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("frmArticulos")
'Se definen los parametros de animacion para objetos
ConfiguraAnimationButton
btnMenu.Tag = anButton
mBackPanel.Initialize("mBackPanel")
mBackPanel.Color = Colors.Transparent
Activity.AddView(mBackPanel, -100%x, 0, 100%x, 100%y)
'///////////////////////////////////////////////////////////
clvSlideMenu.AsView.Top = btnMenu.Height '+ 10dip
clvSlideMenu.AsView.Left = 55dip
clvSlideMenu.AsView.Width = 50%x
clvSlideMenu.AsView.Height = 100%y - btnMenu.Height
'AgregaSlideMenu
clvSlideMenu.AddTextItem(" Version " & Starter.gVersionApp,"1")
clvSlideMenu.AddTextItem(" Cargar Archivo","2")
clvSlideMenu.AddTextItem(" ","3")
' clvSlideMenu.AddTextItem(" ","4")
clvSlideMenu.AddTextItem(" ","5")
clvSlideMenu.AddTextItem(" Acerca De","6")
clvSlideMenu.AddTextItem(" Salir","7")
clvSlideMenu.AsView.Visible = False
'////////////////////////////////////////////////// Se utilzia para el ancho de la columna
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 1dip, 1dip)
cvs.Initialize(p)
'////////////////////////////////////////////////// Se utilzia para el ancho de la columna
fcnCargaArchivo
dialog.Initialize(Activity)
dialog.Title = "Piezas en la Caja"
'////////////////////////////////////////////////////////////
' B4XTable1.SearchField.TextField.TextSize = 28
B4XTable1.lblFirst.Parent.Visible = False
B4XTable1.SearchField.TextField.TextSize = 22
B4XTable1.SearchField.mBase.SetLayoutAnimated(0, 5dip, 0, 200dip, 60dip)
B4XTable1.Refresh 'unsure if neccessary
End Sub
Sub Activity_Resume
Log("Resume_Main")
'Log(modBTPrinter.gArticuloDetalleAction)
'Log(modBTPrinter.gPrinterConnected)
modBTPrinter.gPrinterConnected = False
btnConnectPrinter.Color = Colors.ARGB(100,194,38,34) 'ROJO
modBTPrinter.gserial1.Disconnect
'Select modBTPrinter.gArticuloDetalleAction
' Case ""
' Case "Imprimir"
' PrintZPL
'End Select
End Sub
Sub Activity_Pause (UserClosed As Boolean)
Log("Pause_Main")
If UserClosed = True Then
modBTPrinter.gserial1.Disconnect
End If
End Sub
Sub btnMenu_Click
Dim lbl As Label
Dim a As Animation
lbl = Sender
a=lbl.Tag
a.Start(lbl) 'Inicia la animacion
'Muestra el SlideMenu
Log("btnMenu_Clic")
Show
End Sub
'Check if the menu is currently visible
Public Sub isVisible As Boolean
Return clvSlideMenu.AsView.Visible
End Sub
'Show the SlideMenu
Public Sub Show
If isVisible = True Then
Hide
Return
End If
mBackPanel.BringToFront
clvSlideMenu.AsView.BringToFront
clvSlideMenu.AsView.Left = 100%x -clvSlideMenu.AsView.Width
mBackPanel.Left = 0
clvSlideMenu.AsView.Visible = True
mBackPanel.Visible = True
End Sub
'Hide the SlideMenu
Public Sub Hide
If isVisible = False Then Return
clvSlideMenu.AsView.Visible = False
mBackPanel.Visible = False
End Sub
Sub clvSlideMenu_ItemClick (Index As Int, Value As Object)
Hide
Select Value
' Case "1" 'Productos
' StartActivity(frmProductos)
' Activity.Finish
Case "2" 'Cargar Articulos
fcnCargaArchivo
' Case "4" 'Connect to Printer
' fcnConnectToPrinter
Case "6" 'Acerca de
StartActivity(frmAcercaDe)
Activity.Finish
Case "7" 'Salir
Msgbox2Async("Desea SALIR de la App?", "Sistema", "Si", "", "No", Null, False)
Wait For Msgbox_Result (Result As Int)
If Result = DialogResponse.POSITIVE Then
SalirFormulario
End If
Case Else
' ToastMessageShow("INDEX: " & Index & " VALUE: " & Value,False)
ToastMessageShow("Seleccione una opcion valida del menú",False)
End Select
End Sub
Private Sub mBackPanel_Touch (Action As Int, X As Float, Y As Float)
If Action = 1 Then
Hide
End If
End Sub
Sub ConfiguraAnimationButton
'Define Animacion para simular un PushButton en lblMenu
anButton.InitializeAlpha("", 1, 0)
anButton.Duration = 80
anButton.RepeatCount = 1
anButton.RepeatMode = anButton.REPEAT_REVERSE
End Sub
Sub SalirFormulario
' StartActivity(frmMenu)
Activity.Finish
End Sub
'/////////////////////////////////////////////////////////////////////////////
Sub btnPrev_Click
B4XTable1.CurrentPage = B4XTable1.CurrentPage - 1
End Sub
Sub btnNext_Click
B4XTable1.CurrentPage = B4XTable1.CurrentPage + 1
End Sub
Sub B4XTable1_DataUpdated
Dim ShouldRefresh As Boolean
' btnNext.Enabled = B4XTable1.lblNext.Tag
' btnPrev.Enabled = B4XTable1.lblBack.Tag
'NameColumn and NumberColumn are global B4XTableColumns that we want to measure
For Each Column As B4XTableColumn In Array (NameColumn(0), NameColumn(1), NameColumn(2), NameColumn(3), NameColumn(4))
Dim MaxWidth As Int
For i = 0 To B4XTable1.VisibleRowIds.Size - 1
Dim RowId As Long = B4XTable1.VisibleRowIds.Get(i)
If RowId > 0 Then
Dim pnl As B4XView = Column.CellsLayouts.Get(i + 1)
Dim lbl As B4XView = pnl.GetView(0)
Dim txt As String = B4XTable1.GetRow(RowId).Get(Column.Id)
MaxWidth = Max(MaxWidth, cvs.MeasureText(txt, lbl.Font).Width + 10dip)
End If
Next
If MaxWidth > Column.ComputedWidth Or MaxWidth < Column.ComputedWidth - 20dip Then
Column.Width = MaxWidth
ShouldRefresh = True
End If
Next
If ShouldRefresh Then
B4XTable1.Refresh
End If
End Sub
Sub B4XTable1_CellClicked (ColumnId As String, RowId As Long)
Dim lmsg As String
modBTPrinter.gPrinterConnected = True
If modBTPrinter.gPrinterConnected = False Then
' MsgboxAsync("You need to connect first to the printer",Starter.gSistema)
MsgboxAsync("Necesita primero conectarse con la impresora",Starter.gSistema)
Else
' Dim input As B4XInputTemplate
' input.Initialize
' input.lblTitle.Text = "Ingresa Cantidad de Piezas:"
' input.ConfigureForNumbers(False, False)
' Wait For (dialog.ShowTemplate(input, "Aceptar", "", "Cancelar")) Complete (Result As Int)
' If Result = xui.DialogResponse_Positive Then
' Dim res As Int = input.Text 'no need to check with IsNumber
'
' If res > 9999 Or res = 0 Then
' MsgboxAsync("Ingreso una Cantidad excesiva o un Valor en CERO. Intente de nuevo",Starter.gSistema)
' Else
' iCantEtiquetas = res
'' dialog.Show($"2 * $1.2{res} = $1.2{2 * res}"$, "OK", "", "")
' '///////////////////////////////////////////////////
' Dim RowData As Map = B4XTable1.GetRow(RowId)
' For i=0 To B4XTable1.Columns.Size - 1
' RowData = B4XTable1.GetRow(RowId)
' Starter.gArticuloDetalle(i) = RowData.GetValueAt(i)
' If i <> 4 Then
' lmsg = lmsg & Starter.gArticuloDetalle(i) & CRLF & CRLF
' End If
' Next
' lmsg = lmsg & "Cantidad: " & iCantEtiquetas & CRLF & CRLF
' Log(modBTPrinter.gserial1.Address)
'
' lmsg = "Desea Imprimir este Articulo?" & CRLF & CRLF & lmsg
' Msgbox2Async(lmsg,Starter.gSistema,"Si","No","",Null,False)
' Wait For Msgbox_Result (Result As Int)
' If Result = DialogResponse.POSITIVE Then
' PrintZPL
' End If
' End If
' End If
'/////////////////////////////////////////////////////////////////////
Dim p As B4XView = xui.CreatePanel("")
p.SetLayoutAnimated(0, 0, 0, 300dip, 150dip)
p.LoadLayout("frmInputTextBox1")
dialog.PutAtTop = True 'put the dialog at the top of the screen
Wait For (dialog.ShowCustom(p, "Aceptar", "", "Cancelar")) Complete (Result As Int)
If Result = xui.DialogResponse_Positive Then
'/////////////////////////////////////////
If txtCantidad.Text = "" Or txtEtiquetas.Text = "" Then
MsgboxAsync("Requiere ingresar valores en Cantidad de Piezas por Caja y/o Cantidad de Etiquetas a Imprimir para continuar. Intente de nuevo",Starter.gSistema)
Else
Dim ltxtCant As Int = txtCantidad.Text ' input.Text 'no need to check with IsNumber
If ltxtCant > 9999 Or ltxtCant <= 0 Then
MsgboxAsync("Ingreso una Cantidad valida entre 1 y 9999. Intente de nuevo",Starter.gSistema)
Else
Dim ltxtEtiquetas As Int = txtEtiquetas.Text
If ltxtEtiquetas > 99 Or ltxtEtiquetas <= 0 Then
MsgboxAsync("Debe de ingresar valores validos entre 1 a 99. Intente de nuevo",Starter.gSistema)
Else
'///////////////////////////////////////////////////
iCantEtiquetas = ltxtCant
Dim RowData As Map = B4XTable1.GetRow(RowId)
For i=0 To B4XTable1.Columns.Size - 1
RowData = B4XTable1.GetRow(RowId)
Starter.gArticuloDetalle(i) = RowData.GetValueAt(i)
If i <> 4 Then
lmsg = lmsg & Starter.gArticuloDetalle(i) & CRLF & CRLF
End If
Next
lmsg = lmsg & "Cantidad: " & txtCantidad.Text & CRLF & CRLF
Log(modBTPrinter.gserial1.Address)
lmsg = "Desea Imprimir este Articulo?" & CRLF & CRLF & lmsg
Msgbox2Async(lmsg,Starter.gSistema,"Si","No","",Null,False)
Wait For Msgbox_Result (Result As Int)
If Result = DialogResponse.POSITIVE Then
For i= 1 To ltxtEtiquetas
' PrintZPL
ToastMessageShow("Enivando Impresion Etiqueta -" & i,False)
Next
End If
End If
End If
End If
'/////////////////////////////////////////
End If
End If
End Sub
'///////////////////////////////////////////////////////////////////////
Sub fcnCreateColumns
NameColumn(0) = B4XTable1.AddColumn("ARTICULO", B4XTable1.COLUMN_TYPE_TEXT)
NameColumn(1) = B4XTable1.AddColumn("CÓDIGO SIN ESPACIOS", B4XTable1.COLUMN_TYPE_TEXT)
NameColumn(2) = B4XTable1.AddColumn("DESCRIPCIÓN", B4XTable1.COLUMN_TYPE_TEXT)
NameColumn(3) = B4XTable1.AddColumn("U/M", B4XTable1.COLUMN_TYPE_TEXT)
NameColumn(4) = B4XTable1.AddColumn("Longitud", B4XTable1.COLUMN_TYPE_TEXT)
End Sub
Sub fcnLoadData
Dim headers As List
Private const CSVFileName As String = Starter.gExcelProducto_Plantilla
'load the data
Dim su As StringUtils
headers.Initialize 'the list is only used to skip the headers row
' Dim folder As String = File.DirInternal
' If File.Exists(File.DirInternal, CSVFileName) Then
' folder = File.DirInternal
' Else
' File.Copy(File.DirAssets, CSVFileName, File.DirInternal, CSVFileName)
' End If
Dim data As List = su.LoadCSV2(Starter.gSQLDataBasePath, CSVFileName, ",", headers)
B4XTable1.SetData(data)
' 'change the visible colums order
' 'remove the number columns
' B4XTable1.VisibleColumns.RemoveAt(B4XTable1.VisibleColumns.IndexOf(NumberColumn))
' B4XTable1.VisibleColumns.InsertAt(1, NumberColumn)
B4XTable1.Refresh
End Sub
Sub fcnCargaArchivo
If File.Exists(Starter.gSQLDataBasePath, Starter.gExcelProducto_Plantilla) Then
B4XTable1.Clear
fcnCreateColumns
fcnLoadData
' MsgboxAsync("Se cargo con exito la base de datos de Articulos",Starter.gSistema)
' File.Delete(Starter.gSQLDataBasePath,Starter.gExcelProducto_Plantilla)
Else
MsgboxAsync("El Archivo EXCEL de Articulos NO EXISTE. Requiere copiarla a la carpeta de trabajo" & CRLF & CRLF & "Ejemplo: /device/Android/data/com.printlabel/files/",Starter.gSistema)
End If
End Sub
Sub fcnConnectToPrinter
If modBTPrinter.gPrinterConnected = True Then
modBTPrinter.gserial1.Disconnect
btnConnectPrinter.Color = Colors.ARGB(100,194,38,34) 'ROJO
modBTPrinter.gPrinterConnected = False
Else
modBTPrinter.gserial1.Initialize("serial1")
Dim PairedDevices As Map
PairedDevices = modBTPrinter.gserial1.GetPairedDevices
Dim l As List
l.Initialize
For i = 0 To PairedDevices.Size - 1
l.Add(PairedDevices.GetKeyAt(i)) 'add the friendly name to the list
Next
If l.Size= 0 Then
btnConnectPrinter.Color = Colors.ARGB(100,194,38,34) 'ROJO
modBTPrinter.gPrinterConnected = False
' MsgboxAsync("There is NO BlueTooth paired printer","Warning!!!")
MsgboxAsync("No hay ninguna Impresora Bluetooth conectada" & CRLF & CRLF & "Conecte primero una impresora",Starter.gSistema)
Else
Dim res As Int
res = InputList(l, "Select Zebra Printer", -1) 'show list with paired devices
If res <> DialogResponse.CANCEL Then
ProgressDialogShow("Connecting to Printer, Please Wait ...")
modBTPrinter.gserial1.Connect(PairedDevices.Get(l.Get(res))) 'convert the name to mac address
modBTPrinter.gPrinterConnected = True
Else
modBTPrinter.gserial1.Disconnect
modBTPrinter.gPrinterConnected = False
End If
End If
End If
End Sub
Sub Serial1_Connected (Success As Boolean)
' ProgressDialogHide
Log("connected: " & Success)
If Success = False Then
' BtnPrint.Enabled =False
' BtnConnectBT.Enabled=True
' LblState.TextColor=Colors.Red
' LblState.Text="DISCONNECTED"
modBTPrinter.gPrinterConnected = False
btnConnectPrinter.Color = Colors.ARGB(100,194,38,34) 'ROJO
ProgressDialogHide
' MsgboxAsync("Could NOT connect to Printer. Retry","Warning!!!")
MsgboxAsync("El dipositivo móvil NO logró conectarse con la Impresora.",Starter.gSistema)
Log(LastException.Message)
Else
' LblState.TextColor=Colors.Magenta
' LblState.Text="CONNECTED"
' BtnPrint.Enabled = True
' BtnConnectBT.Enabled=False
modBTPrinter.gPrinterConnected = True
btnConnectPrinter.Color = Colors.ARGB(100,84,194,32)
ProgressDialogHide
End If
End Sub
Sub btnConnectPrinter_Click
fcnConnectToPrinter
End Sub
Sub PrintZPL
Dim fechahoy As String
Log(modBTPrinter.gserial1.Address)
DateTime.DateFormat = "dd/MM/yyyy"
fechahoy = DateTime.Date(DateTime.Now)
Dim Desc1, Desc2 As String
If Starter.gArticuloDetalle(2).Length >30 Then
Desc1 = Starter.gArticuloDetalle(2).SubString2(0,31)
Desc2 = Starter.gArticuloDetalle(2).SubString(31)
End If
'///////////////////////////////////////////////////////////////
' Private AStreams As AsyncStreams 'RandomAccessFile library
Dim Line1Byte(), Line2Byte(), Line3Byte(),Line4(),Line5(),Line6(),Line7(),Line8(),Line9(),Line10() As Byte
Dim Line11(), Line12(), Line13(),Line14(),Line15(),Line16(),Line17(),Line18(),Line19(),Line20() As Byte
Dim Line21(), Line22() As Byte
Line1Byte= modBTPrinter.gConv.StringToBytes("^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR6,6~SD15^JUS^LRN^CI0^XZ","UTF8")
Line2Byte=modBTPrinter.gConv.StringToBytes("^XA","UTF8")
Line3Byte=modBTPrinter.gConv.StringToBytes("^MMT","UTF8")
Line4=modBTPrinter.gConv.StringToBytes("^PW812","UTF8")
Line5=modBTPrinter.gConv.StringToBytes("^LL0406","UTF8")
Line6=modBTPrinter.gConv.StringToBytes("^LS0","UTF8")
Line7=modBTPrinter.gConv.StringToBytes("^FO0,0^GFA,03072,03072,00024,:Z64:","UTF8")
Line8=modBTPrinter.gConv.StringToBytes("eJztVTtupEAUfI0GCxGgGWnIR45GBJyhHThnJPoWls/QcrTRnqFD1KeYo6CNCKw+w1Z/ANs8wpWslXtEQE1RXa/egyb6Wf/XKndwtYO7kYWF6lg8swOL56pn8cq9s3i9w2+sZXGl+AKccxwsPP+wxTNrrS54fnfc4hX0uYRy8JXc4iX8W7NjiOGHAjQDy5otuBywAcOve57fuooNSCm+Yda+cQ2A+2eW79wfN7H8J26AEL/h4gFfcvFkCL/VPJ9xE/Q5fI9PbHPJ5yNz7gVA+A33AiD8muO3Di+Y3thBv4R62lgqdTbQkDF8XJ1g+Ch5zMaveO75codvMsPq7/G/6uewrgTmE3yBsuEs4I3VmB7T4KLSatQS9znVoj6hYs+vEatMfD8K4LbubaTX3+MDfsFLl8s8uAG/D3fBl/ftNYN/n5IpQ07gdSLxoYwn6iCPFIfAH0MFLzRV0b6kbtb3O1B/nmu9zvrYoaGmmbM5Qj88gWfPdO4/86H+cKeW2mnOvp/1Az/NRWntsOjjI0Fliud2W/zjq9JTLHflQ99/haiKbajDHos+bpJ+8JT0fTLlsMxCvvqnxY9O/Ogfo/r+kb/q9/1nvkkTNKR8JJFY8ySa8zerfpigqdIpf1yxW34S0OHIH2KPU39p6e8Z+Z/CDj0OsWUe/PxkmB9ou/urm6p7nB+8ip1QwYvCkPpezw0w5PnorSmtdx8DEjdKq5Zi75T8Bqt4DOfWJSsuhTEXTfEYEyL+LdLpdaQE0CMVv+hKWUHFha76g1R+QKaRf8BP/nvzP+t7rr+1dt5A:211B","UTF8")
Line9=modBTPrinter.gConv.StringToBytes("^FT438,73^A0N,45,45^FH\^FDFecha:^FS","UTF8")
Line10=modBTPrinter.gConv.StringToBytes("^FT572,73^A0N,45,45^FH\^FD" & fechahoy & "^FS","UTF8")
Line11= modBTPrinter.gConv.StringToBytes("^FT32,153^A0N,39,38^FH\^FDArticulo:^FS","UTF8")
Line12=modBTPrinter.gConv.StringToBytes("^FT174,153^A0N,39,38^FH\^FD" & Starter.gArticuloDetalle(0) & "^FS","UTF8")
Line13=modBTPrinter.gConv.StringToBytes("^FT32,200^A0N,39,38^FH\^FDDescripcion:^FS","UTF8")
Line14=modBTPrinter.gConv.StringToBytes("^FT352,287^A0N,34,33^FH\^FD" & Starter.gArticuloDetalle(3) & "^FS","UTF8")
Line15=modBTPrinter.gConv.StringToBytes("^FT277,291^A0N,39,38^FH\^FDU/M^FS","UTF8")
Line16=modBTPrinter.gConv.StringToBytes("^FT33,290^A0N,39,38^FH\^FDCantidad:^FS","UTF8")
Line17=modBTPrinter.gConv.StringToBytes("^FT32,238^A0N,34,33^FH\^FD" & Desc2 & "^FS","UTF8")
Line18=modBTPrinter.gConv.StringToBytes("^FT233,194^A0N,34,33^FH\^FD" & Desc1 & "^FS","UTF8")
Line19=modBTPrinter.gConv.StringToBytes("^FT181,290^A0N,39,38^FH\^FD" & iCantEtiquetas & "^FS","UTF8")
Line20=modBTPrinter.gConv.StringToBytes("^BY2,3,83^FT30,389^BCN,,N,N","UTF8")
Line21=modBTPrinter.gConv.StringToBytes("^FD>:" & Starter.gArticuloDetalle(0) & "^FS","UTF8")
Line22=modBTPrinter.gConv.StringToBytes("^PQ1,0,1,Y^XZ","UTF8")
Log(modBTPrinter.gserial1.OutputStream)
modBTPrinter.gStrOut = modBTPrinter.gserial1.OutputStream
modBTPrinter.gStrOut.WriteBytes(Line1Byte,0,Line1Byte.Length)
modBTPrinter.gStrOut.WriteBytes(Line2Byte,0,Line2Byte.Length)
modBTPrinter.gStrOut.WriteBytes(Line3Byte,0,Line3Byte.Length)
modBTPrinter.gStrOut.WriteBytes(Line4,0,Line4.Length)
modBTPrinter.gStrOut.WriteBytes(Line5,0,Line5.Length)
modBTPrinter.gStrOut.WriteBytes(Line6,0,Line6.Length)
modBTPrinter.gStrOut.WriteBytes(Line7,0,Line7.Length)
modBTPrinter.gStrOut.WriteBytes(Line8,0,Line8.Length)
modBTPrinter.gStrOut.WriteBytes(Line9,0,Line9.Length)
modBTPrinter.gStrOut.WriteBytes(Line10,0,Line10.Length)
modBTPrinter.gStrOut.WriteBytes(Line11,0,Line11.Length)
modBTPrinter.gStrOut.WriteBytes(Line12,0,Line12.Length)
modBTPrinter.gStrOut.WriteBytes(Line13,0,Line13.Length)
modBTPrinter.gStrOut.WriteBytes(Line14,0,Line14.Length)
modBTPrinter.gStrOut.WriteBytes(Line15,0,Line15.Length)
modBTPrinter.gStrOut.WriteBytes(Line16,0,Line16.Length)
modBTPrinter.gStrOut.WriteBytes(Line17,0,Line17.Length)
modBTPrinter.gStrOut.WriteBytes(Line18,0,Line18.Length)
modBTPrinter.gStrOut.WriteBytes(Line19,0,Line19.Length)
modBTPrinter.gStrOut.WriteBytes(Line20,0,Line20.Length)
modBTPrinter.gStrOut.WriteBytes(Line21,0,Line21.Length)
modBTPrinter.gStrOut.WriteBytes(Line22,0,Line22.Length)
modBTPrinter.gStrOut.Flush
' MsgboxAsync("Printed OK","OK")
ToastMessageShow("Se envió la impresión",True)
' Line1Byte= modBTPrinter.gConv.StringToBytes("^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR6,6~SD15^JUS^LRN^CI0^XZ","UTF8")
' Line2Byte=modBTPrinter.gConv.StringToBytes("^XA","UTF8")
' Line3Byte=modBTPrinter.gConv.StringToBytes("^MMT","UTF8")
' Line4=modBTPrinter.gConv.StringToBytes("^PW812","UTF8")
' Line5=modBTPrinter.gConv.StringToBytes("^LL0406","UTF8")
' Line6=modBTPrinter.gConv.StringToBytes("^LS0","UTF8")
' Line7=modBTPrinter.gConv.StringToBytes("^FO0,0^GFA,03072,03072,00024,:Z64:","UTF8")
' Line8=modBTPrinter.gConv.StringToBytes("eJztVUGOozAQbFvxKOKAiDTc0ZwiH3iD5wdEwn+YQx6Bctpn+Ih8mDfMUzii1cpvmDIYIoVG2r2sVqu0QwilouiubhOiZ/xXkTkeLxserwOPW8vj3v8RX4bQcbiw1rB871m+2uHnIQySwUtrmwODa+99z+AWwTkUEOMWFrTDp8x7x+E7BYQbCmD07TvLl96xBinbsA3Iwxi4Bivbsnxkr7kGl7YtW1Y/1L94vuLsgb7seD6DTvosrnb4GZrL5Q9/BFevDGPOPUFYw9WryXe6rzZ4QSXWtmCNo6bt/LziaHf4Z9rOZ7HDP+O4PuqrJrpzaE1DAmc6mCTupe81JqjHGHWasm7GLxdxaQplwS9RNqmk4/0N/JcwjFR/DnmXz3zRKOT/OuXT4gJ3TCGdhKie8seSTs+4wFr4WMIkX2Un3Rn8D+Q/0FUOaY4UCZP4YnpCKjsjcklfuvjtVv2mgEORb3CffeBDXw7oQj3MeHwzLPoWRpXJnrhxF328JFZ7TuWpWPQnPt35KX/5E2NXfyV9oqVeEaWXbZxN/V3yx++U/2nqb7HyL0v+3cy/TvkTjePiz12/ie144Ef/XWxHz/LV6r+b+dF/WP/yVSc/G0JLIz+uQq0F48WT9VFfO+1d1t3nx8QOtHC+xGedHz3zP+A8XkM15ckgZacOtxhUbDOckkH/WEhJVdX9wA9cuOPbsZpxzJs4GIM/F2wsY8R6w42qdB9afXyjlU9F8Vczf8Yzfje+AUW+ty4=:DF2B","UTF8")
' Line9=modBTPrinter.gConv.StringToBytes("^FT438,73^A0N,45,45^FH\^FDFecha:^FS","UTF8")
' Line10=modBTPrinter.gConv.StringToBytes("^FT572,73^A0N,45,45^FH\^FD22/09/2020^FS","UTF8")
' Line11= modBTPrinter.gConv.StringToBytes("^FT32,153^A0N,39,38^FH\^FDArticulo:^FS","UTF8")
' Line12=modBTPrinter.gConv.StringToBytes("^FT174,153^A0N,39,38^FH\^FDHAT0149 001000^FS","UTF8")
' Line13=modBTPrinter.gConv.StringToBytes("^FT32,200^A0N,39,38^FH\^FDDescripcion:^FS","UTF8")
' Line14=modBTPrinter.gConv.StringToBytes("^FT352,287^A0N,34,33^FH\^FDMILL^FS","UTF8")
' Line15=modBTPrinter.gConv.StringToBytes("^FT277,291^A0N,39,38^FH\^FDU/M^FS","UTF8")
' Line16=modBTPrinter.gConv.StringToBytes("^FT33,290^A0N,39,38^FH\^FDCantidad:^FS","UTF8")
' Line17=modBTPrinter.gConv.StringToBytes("^FT32,238^A0N,34,33^FH\^FDDescripcion2^FS","UTF8")
' Line18=modBTPrinter.gConv.StringToBytes("^FT233,194^A0N,34,33^FH\^FDDescripcion1^FS","UTF8")
' Line19=modBTPrinter.gConv.StringToBytes("^FT181,290^A0N,39,38^FH\^FD9999^FS","UTF8")
' Line20=modBTPrinter.gConv.StringToBytes("^BY3,3,83^FT136,390^BCN,,N,N","UTF8")
' Line21=modBTPrinter.gConv.StringToBytes("^FD>:HAT>50149>6 >5001000^FS","UTF8")
' Line22=modBTPrinter.gConv.StringToBytes("^PQ1,0,1,Y^XZ","UTF8")
End Sub
Sub txtCantidad_EnterPressed
txtEtiquetas.mBase.RequestFocus
End Sub