Problemas con printer y panasonic

Hola! Ojalá me puedas ayudar. URGENTE!
Hice un sistema de facturación con VB 6.0 y he utilizado el método Printer para imprimir las facturas. Pero mi problema es que al colocarles el formato de miles a los números que están alineados a la izquierda y en columnas(con format y len), estos se desalinean, según el tamaño del número ¿qué debo hacer? La impresora es una PANASONIC KX-P1150 y otro problema es en la Impresora OKIDATA 320 y 321 no respeta el tamaño de fuente que le doy, aparece un tamaño gigantesco de letras y no se aprecia nada(tamaño18 más o menos)
Sé que no es la programación pues, al imprimir en otra impresora matriz de punto Epson FX-870, Canon1000(tinta), Hp(tinta), no sucede ningún problema, aparece todo alineado. ¿Qué hago? ¿Problema de configuración de impresora? ¿De compatibilidad de la impresora con el software? ¿Qué otra cosa? Ojala me puedas ayudar es lo último que me falta para terminar esto... Ayuda, por favor!
Ahora me dicen que debo ver los códigos de escape que dan los fabricantes..¿qué es eso? ¿Qué otra cosa puedo hacer?
Eternamente agradecida...
Mari

2 Respuestas

Respuesta
1
Bueno lo que tienes que hacer es elegir un tipo de fuente que todos sus caracteres tengan el mismo tamaño.
El que más se usa es el "Courier New"
En el objeto printer tienes que hacer
Printer.FontName = "Courier New"
Al principio de tu procedimiento.
Bueno.
Muchas gracias!, ésa era la solución en la panasonic(yo usaba la courier, no la courier new), sólo me falta la impresora okidata con las letras gigantes.. muy amable y gracias
Respuesta
1
esta es una rutina para alinear cantidades, en cuanto al tamaño de letra
printer.zise=10 aunque supongo que ya lo intestaste, pero normalmente siempre acosejo utilizar Crystal Reports....bye
Rutina de alineacion
Public Function CamFor(Valor As Double) As String
Dim Caden, CadenTemp As String
Dim i, Longi As Integer
Caden = Format(Format(Valor, " ###,##0.00"), "0000000000.00")
Longi = Len(Caden)
For i = 1 To Longi
If Mid(Caden, i, 1) = "0" Then
CadenTemp = CadenTemp + " "
Else
CadenTemp = CadenTemp + Mid(Caden, i, Longi)
Exit For
End If
Next i
CamFor = CadenTemp
End Function
gracias eres muy amable.. pero consulta ¿para qué sirve "0000000000.00")?
Gracias
Que bueno que preguntas
Si modificas la cantidad de ceros la cadena de resultado sera más corta por ejemplo
Si pasas un valor como 215.10
Y después 31511.5
A esa función te regrasará
215.10
31511.50
Pero si le quitas dos ceros te regresará
215.10
31511.50

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas