Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: zxs23 en Abril 13, 2017, 11:14:53 pm
-
Como estan estoy utilizando centimetros imprimiendo en un ticket de 8cm y no puedo centrar el texto ya que siempre toma como medida una hoja A4, es decir no se como decirle que mi ancho de hoja sera de 8cm o en todo programar los calculos para q imprima, ya me enrede jaja espero me entiendan
-
no se como decirle que mi ancho de hoja sera de
Pués cambia el papel... así se le indica el tamaño del papel (hay unas constantes predefinidas)
Dim pr As Printer
Set pr = VB.Global.Printer ' impresora por defecto...
MsgBox pr.PaperSize ' comprueba que tamaño de papel tiene
pr.PaperSize = 1 ' Este es el valor para 8.5", pero no 8cm (no sé si realmente querías poner 8cm, u 8pulgadas.
MsgBox pr.PaperSize ' verifica que el cambio fue aceptado...
Si al final realmente quires que sean 8 cm de ancho, entonces deberás definir el valor 256 (definido por el usuario).
Dim pr As Printer
Set pr = VB.Global.Printer ' impresora por defecto...
with pr
MsgBox .PaperSize ' comprueba que tamaño de papel tiene
.PaperSize = 256 ' Este es el valor para indicarle un tamaño definido por el usuario.
' esto fuerza a que tengas que definir las medidas que tiene el papel, estableciendo el ancho y alto para el objeto printer.
.width = .scaleX(800, vbmillimeter, .scalemode) ' depende de qué scalemode tengas puesto en la impresora, puedes o no pasar el valor directamente o a ScaleWidth, etc... si no te aclaras deberás probar. Este modo lo soluciona más fácilmente, lo recomendado es que para la impresora tengas el scalemode al valor 5 (vbInches).
.Height = .scaleY(???, vbmillimeter, .scalemode)
MsgBox .PaperSize
end with
-
Hola hace mucho que no programo, pero aca mi aporte.
Private Sub Command1_Click()
StrTitulo = "SERVICAR CENTRO AUTOMOTIVO"
strSubTitulo = "CONCEPCION PARAGUAY"
'La forma mas rapida es compartir la impresora en RED y ponerle un nombre facil yo le puse TICKET, mi maquina como nombre de equipo tiene CENTRAL
'Asi no importa si la impresora que conexion tenga si es a USB o LPT1
Open Trim("\\CENTRAL\TICKET") For Output As #1 'Este es para poder imprimir en una impresora que esta en RED, o
'Open Trim("C:\archivo.txt") For Output As #1 'Este para imprimir en un archivo.
'Open Trim("LPT1") For Output As #1 'Este para imprimir en un impresora paralelo tienes que saber en que puerto se instalo.
Print #1,
Print #1, Tab(1); String(40, "=") 'El numero 40 es por que en la ticketeadora que uso imprime 40 letras por fila contando espacios.
Print #1, Tab((40 - Len(StrTitulo)) \ 2); StrTitulo
Print #1, Tab((40 - Len(strSubTitulo)) \ 2); strSubTitulo
Print #1, Tab(1); String(40, "=")
End Sub