Foro de elhacker.net

Programación => .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
  1.  
  2.  
  3. DESCRIPCION---------------------------IMPORTE
  4. Agua Ciel 375 ML                       5.50
  5. Cereal Fitness                        27.90
  6.  
  7.  
  8. 'Cabe destacar que estoy imprimiendo haciendo uso de PrintDocument.
  9. 'Utilizo e.GRaphics.DrawString.
  10.  
  11. dim LenDetalle as integer
  12. dim espacios as integer=35 'maximos caracteres a imprimir de la descripcion del articulo
  13. LenDetalle =Len(rec("descripcion"))  'sacamos los caracteres de la descripcion
  14. espacios=espacios - LenDetalle  'restamos maximo carateres a  imprimir - caracteres de la descripcion
  15.  
  16.  
  17. 'Ahora para imprimir pongo lo siguiente:
  18. e.GRaphics.DrawString(rec("detalle") & espacios & rec("importe"))
  19.  
  20.  
  21.  
  22. 'Asi me imprime algo similar a esto:
  23.  
  24. DESCRIPCION---------------------------IMPORTE
  25. Agua Ciel 375 ML                       5.50
  26. Cereal Fitness                     27.90
  27.  
  28.  

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.. :)