Alinear textos con el Objeto printer
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
1.00
10.61
1,251.40
gracias a todos
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
posicion= (80 - Len(Format(saldo, "##,##0.00")))
Suponiendo que 80 es la posicion donde quiero que se imprima.5
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.
posicion= (80 - Len(Format(saldo, "##,##0.00")))
Suponiendo que 80 es la posicion donde quiero que se imprima.
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.
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.
