Visual Basic - Imprimir Nº decimales alineados

Life is soft - evento anual de software empresarial
 
Vista:

Imprimir Nº decimales alineados

Publicado por ANA (18 intervenciones) el 23/01/2002 04:45:42
Quiero imprimir valores numéricos de una grilla que está ordenada y con este formato Format(dato,"##,##0.00"). Cualdo la imprimo con el Printer tengo que pasarle el CurrentX para ubicarlo y ahí se va toda la alineación a la izquierda que deseo. ¿Cómo puedo alinear los números? Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imprimir Nº decimales alineados

Publicado por Javier Pérez (170 intervenciones) el 23/01/2002 11:09:39
Imagínate que quieres escribir un "1,00" y un "1.000.000,00"; si utilizas el valor de CurrentX para escribir ambos valores, evidentemente la alineación numérica se te va a paseo. Para poder alinearlos correctamente deberías incrementar el valor de X adecuadamente. Una forma de poder hacer esto es mediante la diferencia entre el ancho total de la columna y el ancho del texto a escribir. El objeto Printer tiene una función, TextWidth, que te ayudará. Supón que el número mayor que tienes en la columna (o el número mayor que quieres albergar) es 1234567890; una vez formateado, aparecerá como 123.456.789,00; mediante una llamada a Printer.TextWidth("123.456.789,00") obtenemos un valor que vamos a llamar M. Pues bien, al escribir un dato obtenemos el valor de x adecuado mediante la expresión:

s = Format(dato,"##,##0.00")
x = CurrentX + (M - Printer.TextWidth(s))

Una última consideración: el valor de M también puede ser, simplemente, el que tu quieras: tú misma puedes decidir que anchura total quieres que tenga la columna de datos. O pudes obtenerlo de otra forma, mediante otros parámetros. Lo que te tiene que quedar claro es la idea básica: tienes que incrementar x en un valor que sea la diferencia entre la anchura total de la columna y la anchura del texto a imprimir.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIAS

Publicado por ANA (18 intervenciones) el 26/01/2002 18:52:44
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar