Página 1 de 1

Poner en un reporte el picture utilizando el Printer

Publicado: Mié Abr 29, 2009 10:21 pm
por Armando Ruiz Gutierre
Hola a todos,
Quiero saber como puedo poner un Picture una vez que obtuve el valor de mi
ArrayBrowse ya que el dato que obtengo es numerico y quiero que se imprima
con un Picture 999,999,999.99, estoy utilizando el Printer, como le hago?
:TextOut( 100, n, ::oArrayBrowse1:GetValue(7))
Saludos
Armando Ruiz

Poner en un reporte el picture utilizando el Printer

Publicado: Mié Abr 29, 2009 11:04 pm
por Rene Flores
ARMANDO:
>
> :TextOut( 100, n, TRANSFORM(::oArrayBrowse1:GetValue(7),"999,999,999.99"))
>
Saludos
Rene Flores
http://www.ciber-tec.com

Poner en un reporte el picture utilizando el Printer

Publicado: Jue Abr 30, 2009 12:40 am
por Armando Ruiz Gutierre
Muchas Gracias René !!!
Ahora me surgió otro problema, como puedo alinear la impresión de esto mismo
para que todo salga del lado derecho, ya que me sale centrado cuando
visualizo antes la impresión?
Saludos
Armando Ruiz
"Rene Flores" <"rflores[nospam]"@ciber-tec.com> escribió en el mensaje de
noticias news:[email=49f8c0d3@svctag-j7w3v3j....]49f8c0d3@svctag-j7w3v3j....[/email]
> ARMANDO:
>
>>
>> :TextOut( 100, n,
>> TRANSFORM(::oArrayBrowse1:GetValue(7),"999,999,999.99"))
>>
>
> Saludos
>
> Rene Flores
> http://www.ciber-tec.com

Poner en un reporte el picture utilizando el Printer

Publicado: Jue Abr 30, 2009 11:04 am
por Xevi
Armando,
> Ahora me surgió otro problema, como puedo alinear la impresión de esto
> mismo para que todo salga del lado derecho, ya que me sale centrado cuando
> visualizo antes la impresión?
No es que te salga centrado, sinó que Transform te añade espacios según lo
menor que sea el número.
Si pones
:TextOut( 100, n,
Alltrim(TRANSFORM(::oArrayBrowse1:GetValue(7),"999,999,999.99 ")))
verás que te lo imprimirí  alineado a la izquierda, que es como imprime
TPrinter:TextOut
Para alinear un texto, dispongo de una función donde le envio
el texto,
un array con las coordenadas nLeft,nTop,nWidth,nHeight,
la alineación,
el color de la fuente
Procedure PrinterDrawText( cText, aRect, nAlign, nColor )
DEFAULT nColor TO 0
If aRect[1] + aRect[2] # 0
Printer:oCanvas:nTextAlignment := nAlign
Printer:oCanvas:TextRect( { aRect[1] *10, aRect[2] *10, aRect[3] *10,
aRect[4] *10 }, cText, nColor )
Printer:oCanvas:nTextAlignment := TA_LEFT
EndIf
Return
Así­ puedes...
PrinterDrawText( "miMensaje", {10,10,200,25}, TA_LEFT, clRed )
PrinterDrawText( Transform(155.32, "@E 999,999.99"), {10,10,200,25},
TA_LEFT, clBlue )
Espero te sirva.
Un Saludo,
Xevi.
__________ Información de ESET Smart Security, versión de la base de firmas de virus 4045 (20090430) __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com

Poner en un reporte el picture utilizando el Printer

Publicado: Vie May 01, 2009 2:58 am
por Armando Ruiz Gutierre
Gracias, lo intentare !!!
"Xevi" <[email=xevicomas_quitaresto@gmail_quitaresto.com]xevicomas_quitaresto@gmail_quitaresto.com[/email]> escribió en el mensaje de
noticias news:[email=49f96989@svctag-j7w3v3j....]49f96989@svctag-j7w3v3j....[/email]
> Armando,
>
>> Ahora me surgió otro problema, como puedo alinear la impresión de esto
>> mismo para que todo salga del lado derecho, ya que me sale centrado
>> cuando visualizo antes la impresión?
>
> No es que te salga centrado, sinó que Transform te añade espacios según lo
> menor que sea el número.
> Si pones
> :TextOut( 100, n,
> Alltrim(TRANSFORM(::oArrayBrowse1:GetValue(7),"999,999,999.99 ")))
> verás que te lo imprimirí  alineado a la izquierda, que es como imprime
> TPrinter:TextOut
>
>
> Para alinear un texto, dispongo de una función donde le envio
> el texto,
> un array con las coordenadas nLeft,nTop,nWidth,nHeight,
> la alineación,
> el color de la fuente
>
> Procedure PrinterDrawText( cText, aRect, nAlign, nColor )
> DEFAULT nColor TO 0
> If aRect[1] + aRect[2] # 0
> Printer:oCanvas:nTextAlignment := nAlign
> Printer:oCanvas:TextRect( { aRect[1] *10, aRect[2] *10, aRect[3] *10,
> aRect[4] *10 }, cText, nColor )
> Printer:oCanvas:nTextAlignment := TA_LEFT
> EndIf
> Return
>
> Así­ puedes...
> PrinterDrawText( "miMensaje", {10,10,200,25}, TA_LEFT, clRed )
> PrinterDrawText( Transform(155.32, "@E 999,999.99"), {10,10,200,25},
> TA_LEFT, clBlue )
>
> Espero te sirva.
>
> Un Saludo,
> Xevi.
>
>
> __________ Información de ESET Smart Security, versión de la base de
> firmas de virus 4045 (20090430) __________
>
> ESET Smart Security ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>