Font Metrics

03/02/2005 - 23:23 por Vazquez | Informe spam
Tengo una aplicación que debe imprimir un ticket al finalizar la compra
El problema esque estoy tratando de separar cada linea en 4 columnas, por
ejemplo
1 Nieve Vainilla 8.00 8.00
3 Papas 7.50 22.50

El problema esque cuando pongo cada renglon en un String (el renglon se
obtiene de unas columnas de un spread), no me acepta el vbTab, por lo que
tuve que hacer un función que me diera esta separación por medio de
espacios. Ahora el problema esque dependiendo del tipo de letra me da una
diferente identación.

Alguién tiene una forma correcta de hacer esto..
Anexo el codigo


For i As Integer = 0 To .RowCount - 1
linea = tabula(.Cells(i, 0).Text.Trim, .Cells(i, 1).Text.Trim, .Cells(i,
2).Text.Trim, .Cells(i, 3).Text.Trim)
Posy = (topMargin + (count * (printFont.GetHeight(e.Graphics))))
e.Graphics.DrawString(linea, printFont, myBrush, leftMargin, Posy, New
StringFormat(StringFormatFlags.DisplayFormatControl))
count += 1
linea = ""
Next


Private Function tabula(ByVal cant As String, ByVal art As String, ByVal
unit As String, ByVal importe As String) As String
If cant.Length < 2 Then
cant = " " & cant
End If

While art.Length < 25
art = art & " "
End While

While unit.Length < 7
unit = " " & unit
End While

While importe.Length < 7
importe = " " & importe
End While

Return cant & " " & art & unit & importe
End Function

C Vázquez

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
04/02/2005 - 17:53 | Informe spam
Hola,

¿has probado con Courier New?. Creo recordar que hay una fuente de letra que
te permite no perder el espacio que indicas, y no recuerdo bien si es esta.
Por probar...

Un saludo,

Jorge Serrano Pérez
MVP VB.NET


"Vazquez" wrote:

Mostrar la cita
#2 Pedro Luna Montalvo, MVP
04/02/2005 - 19:37 | Informe spam
Pos si.. los caracteres de Courier New tienen un ancho fijo, y permite
alinear de mejor forma los caracteres.
Otro tipo de letra de ancho fijo es Lucida Console.


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu


"Jorge Serrano [MVP VB]"
escribió
en el mensaje news:
Mostrar la cita
que
Mostrar la cita
esta.
Mostrar la cita
por
Mostrar la cita
que
Mostrar la cita
una
Mostrar la cita
.Cells(i,
Mostrar la cita
New
Mostrar la cita
#3 Vazquez
05/02/2005 - 21:16 | Informe spam
Muchas gracias, el Lucida Console funcionó muy bien

C Vázquez

"Pedro Luna Montalvo, MVP" escribió en
el mensaje news:
Mostrar la cita
escribió
Mostrar la cita
compra
Mostrar la cita
se
Mostrar la cita
ByVal
Mostrar la cita
Ads by Google
Search Busqueda sugerida