Alinear textos con el Objeto printer

6AS7
10 de Febrero del 2004
Queria saber de que forma puedo alinear textos a la derecha usando el objeto printer, porque cuando quiero imprimir importes me quedan alineados a la derecha :
1.00
10.61
1,251.40

gracias a todos

Reivax
10 de Febrero del 2004
Lo que yo hago es utilizar una combinacion de funciones para calcular la posicion y que se alineen correctamente:
posicion= (80 - Len(Format(saldo, "##,##0.00")))

Suponiendo que 80 es la posicion donde quiero que se imprima.5

Reivax
10 de Febrero del 2004
Lo que yo hago es utilizar una combinacion de funciones para calcular la posicion y que se alineen correctamente:
posicion= (80 - Len(Format(saldo, "##,##0.00")))

Suponiendo que 80 es la posicion donde quiero que se imprima.

Baltasar
10 de Febrero del 2004
Pero eso no serviría para usar el objeto printer, sino cuando imprimes directamente en el puerto.
Para alinear usando el printer, hay que usar la función textwidth, que te devuelve el ancho de una expresión:

printer.scale (0,0)-(2100,2970)

printer.currenty=200
printer.currentx = 500-textwidth(cstr(265.45))
printer.print cstr(265.45)

printer.currenty=300
printer.currentx = 500-textwidth("Hola")
printer.print "Hola"
printer.currenty=400
printer.currentx = 500-textwidth("Bienvenido al foro de programación")
printer.print "Bienvenido al foro de programación"
printer.enddoc

Porsupuesto que visto así parece muy complicado, pero si nos creamos unas funciones veremos que todo se puede quedar en un:

imprime 300,500, "Bienvenido al foro de programación", alineación
Si rebuscas un poco en el foro encontrarás un ejemplo de esas funciones (busca ESPACIOS AL IMPRIMIR en foros)

http://www.programacion.com/foros/32/msg/58145/
ahí verás de lo que hablo.

Saludos.