Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: luison en 22 Junio 2011, 00:06 AM

Título: Ayuda con impresion alineada.
Publicado por: luison en 22 Junio 2011, 00:06 AM
Salu2

Tengo un problemita:
Estoy imprimiendo un ticket de venta y no logro alinear los encabezados con el detalle de la venta. Ejemplo de lo que pretendo lograr:



Código (vbnet) [Seleccionar]



DESCRIPCION---------------------------IMPORTE
Agua Ciel 375 ML                       5.50
Cereal Fitness                        27.90


'Cabe destacar que estoy imprimiendo haciendo uso de PrintDocument.
'Utilizo e.GRaphics.DrawString.

dim LenDetalle as integer
dim espacios as integer=35 'maximos caracteres a imprimir de la descripcion del articulo
LenDetalle =Len(rec("descripcion"))  'sacamos los caracteres de la descripcion
espacios=espacios - LenDetalle  'restamos maximo carateres a  imprimir - caracteres de la descripcion


'Ahora para imprimir pongo lo siguiente:
e.GRaphics.DrawString(rec("detalle") & espacios & rec("importe"))



'Asi me imprime algo similar a esto:

DESCRIPCION---------------------------IMPORTE
Agua Ciel 375 ML                       5.50
Cereal Fitness                     27.90



Al parecer al concatenar los espacios siempre son mas pequeños que un caracter, por eso nunca se alinea.

No diseñe el ticket en crystal reports ya que no lo tengo.

Alguien que me pueda hecha un cable?

Saludos y estamos por aqui tratando.

Título: Re: Ayuda con impresion alineada.
Publicado por: [D4N93R] en 22 Junio 2011, 21:48 PM
Tienes que usar un tipo de letra que sea monospace.. es decir, que todos los caracteres tienen el mismo ancho.. :)