Salu2
Verán desarrollé un sistemita de ventas, el cual ya trabaja un 90% estable.
Lo único que me falta es el ticket, el cual aún no logro organizar y centrar los contenidos en el papel.
La forma con al que imprimo es usando un ejemplo como el siguiente:
Dim rc As New Recordset
Set rc = Conexion.Execute("consulta sql")
If rc.EOF = False Then
Printer.Print Space(7) & "NOMBRE DE LA TIENDA"
Printer.Print "Direccion Tienda"
Printer.Print "Telefono Tienda"
Printer.Print "----------------------------------------------"
Printer.Print "Detalles de la compra"
Printer.Print ""
Printer.Print "TOTALES...."
Printer.Print Space(30) & " Total:" & Space(2) & Me.txtTotal.Text ' rc!total
Printer.Print Space(30) & " Efectivo:" & Space(2) & Format(Me.txtEfectivo.Text, "$##0.00")
Printer.Print Space(30) & " Cambio:" & Space(2) & Me.txtCambio.Text
Printer.Print Space(30) & "Artículos:" & Space(2) & Me.txtArticulos.Text
Printer.Print "PIE DEL TICKET"
printer.EndDoc
End If
Set rc = Nothing
Como pueden ver utilizo Space para dar algunos espacios, pero no sirve para centrar cuando un codigo o texto es de longitud muy grande.
En lo que he investigado sugieren el uso de CurrentY y CurrentX, pero no encuentro ejemplos claros.
Alguien ha diseñado un ticket de venta que pueda echarme un cable?
Gracias y estamos por aqui investigando..
Pues nunca he trabajado con un objeto "printer", pero en un form o picturebox:
picture1.currentx=10
picture1.currenty=10
picture1.print "Este texto aparecera en la posicion (10,10)"
Debes configurar el sistema de coordenandas(ScaldeMode) a Pixeles(3), eso es lo que pienso yo.
Tambien puedes usar las propiedades TextWidth y TextHeight para darle formato al texto(centrar por ejemplo):
dim miCadena as string
micadena="Este texto debe estar centrado"
picture1.currentx=picture1.width/2 - picture1.textWidth(micadena)/2
picture1.currenty=10 'TextHeight
picture1.print miCadena
Te recuerdo que no me consta si funciona con un objeto printer(yo creo que si ;)) y cuidado con el sistema de coordenandas(scalemode)...
Bien, eso es todo espero y te sirva... salud!