In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Para Bingen Ugaldebere

Foro público de Xailer en español
Responder
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

Para Bingen Ugaldebere

Mensaje por PEDRO DE LEON RODAS[3] »

Bingen Ugaldebere, saludos.
Gracias por tu respuesta.
Solo te pido que perdones mi ignarancia.
No entiendo la respuesta.
Te describo un poco mas claro lo que necesito.
Requiero obtener de FastReport la longitud (Width) de un objeto (Edit o
Texto) y ponerlo en una variable para posteriormente usarla en Xailer.
Nuevamente, mil gracias.
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4925 (20100308) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Para Bingen Ugaldebere

Mensaje por Bingen Ugaldebere »

Requiero obtener de FastReport la longitud (Width) de un objeto (Edit o
Texto) y
ponerlo en una variable para posteriormente usarla en Xailer.
Me parece un poco retorcido lo que quieres pero vamos a ello, FR no se
si podrá calcular la anchura de un texto pero Xailer si, como sabes se
puede preguntar a Xailer
Function GetAncho(cTexto)
Return Application:oFont:GetTextWidth(cTexto)
Como hacerlo desde FR llamando a esto mediante la función de FR:
CallHbFunc('GetAncho',[cTexto])
Esto puesto dentro de un objeto texto te mostrarí­a la longitud en pixel
de cTexto o de un campo que metieras dentro
CallHbFunc('GetAncho',[<Clientes."Direccion">'])
Y como almacenarlo ahora en una variable de Xailer desde FR:
Primero la variable ha de estar creada antes de haber ido a FR por ejemplo
Local nLen:=0
y ahora en FR usas la función SetHbVar
SetHbVar( CallHbFunc('GetAncho',[<Clientes."Direccion">']) , 'nLen' )
Es esto lo que necesitas?
Salu2.
PEDRO DE LEON RODAS[3]
Mensajes: 266
Registrado: Mar Oct 28, 2008 4:41 am

Para Bingen Ugaldebere

Mensaje por PEDRO DE LEON RODAS[3] »

Bingen, gracias por tu pronta respuesta ayuda.
Logre obtener el ancho del objeto (width) en centimetros.
Primero lo que hice fue en xailer declarar una variable de memoria
Private ancho
Despues ejecute el reporte
reporte:LoadFromFile(AppData:Reportes+"IMPRIMIR_FACTURAG.fr3 ")
reporte:DesignReport() //// Entre en modo de diseño
Despues en el editor de codigo de PascalScript puse el siguiente codigo
procedure Page1OnAfterPrint(Sender: TfrxComponent);
begin
SetHbVar('ancho',partidasseries.width*0.026458333); ///// se obtiene en
pixeles el ancho y despues con 0.026458333 lo combierto a cms.
end;
begin
end.
Y por ultimo en Xailer nuevamente hago lo siguiente:
guardo el resultado de la variable ANCHO en un campo de mi tabla.
Funciona perfectamente para el proposito que queria.
Mil gracias por la orientacion.
Saludos.
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4933 (20100310) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
Responder