Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Ver / Ocultar Texto en Fast Report (https://www.clubdelphi.com/foros/showthread.php?t=88093)

Delphitest 11-04-2015 09:30:44

Ver / Ocultar Texto en Fast Report
 
Buenos días,

veo que la versión de Fast Report que tengo en delphi XE5 está limitada ya que no me deja acceder a la pestaña Code ni a los eventos de los objetos.

Me habría facilitado mucho la tarea pero no puedo hacer uso de esas prestaciones.

Necesito ver / ocultar un texto que he puesto en el formulario en función del valor de un campo.

Por ejemplo si ese valor es 100 ocultar el texto y si es inferior habría que verlo.

¿Hay alguna forma de hacer esto desde fuera de Fast Report ?

Muchas Gracias

Galahad 11-04-2015 21:02:30

asignar valor a campos de fastreport desde delphi
 
hola buenas tardes...


Puedes hacerlo así

Puedes utilizar una función así:

Código:


procedure frx_asigna(var frx: TfrxReport; ccomponente, cvalor: string);
begin
  if (frx.FindComponent(ccomponente) as Tfrxmemoview) <> nil then
  (frx.FindComponent(ccomponente) as Tfrxmemoview).text := cvalor;
end;

como parametro le pasas (por referencia) una variable que hace referencia al report, el nombre de tu campo del fastreport y el valor que le quieras asignar.

Espero te sirva...

Delphitest 12-04-2015 18:10:53

Muchas gracias por tu ayuda,

el problema que tengo es que en el informe generado hay varias páginas y en unas debe aparecer el texto y en otras no.

Por ahora lo he solucionado usando la condición que se puede asignar a la expresión dentro de FR y como no es muy flexible me he limitado a decirle que cuando se cumpla lo ponga en color blanco, así pasa desapercibido en la pantalla y en las impresiones.

Es un poco chapucilla pero mientras encuentro otra alternativa puede servir.

Un saludo

pacopenin 13-04-2015 10:22:16

No es una mala solución. Las chapucillas lo son cuando se explican. Recuerdo haber leído que Ferrari consiguió 20 CV envolviendo no se que parte con papel de aluminio. Si no explican como lo consiguieron podían haber vendido esa mejora como I+D+I al máximo nivel. (Claro que para lo que les sirvió.... :cool:).

Otra opción es utilizar variables. Basta insertar un objeto de texto y dentro poner el nombre de la variable entre []. Luego, en delphi hay un evento, OnGetValue del TfrxReport que se ejecuta cada vez que se va a "pintar" la variable en cuestión. Ahi le puedes dar el valor que desees en función del registro que se esté procesando.

Aún se me ocurre alguna solución más, como utilizar un dataset en memoria cargado con la información final que se desea imprimir.

Lo que te resulte más cómodo, pero si esa opción te funciona es tan válida como cualquier otra.


La franja horaria es GMT +2. Ahora son las 17:16:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi