PDA

Ver la Versión Completa : campos de texto visibles con FreeReport


Sick boy
04-02-2004, 22:19:50
Hola,

La duda es que no se como modificar en tiempo de ejecucion la propiedad visible de las cajas de texto (memos) de los informes de free report.

El informe le cargo de un fichero, y hay unos campos que algunas veces deben mostrarse y otras veces no, pero el resto del informe es igual.

Gracias.

Rosa
07-02-2004, 05:20:31
Hola

Has probado a poner en el OnBeforePrint de la banda en la que están los memos la condición para que se pongan visibles o no??
TuMemo.visible:=false;

Hace tiempo que no toco FastReport, pero creo recordar que era algo así

Suerte

Sick boy
07-02-2004, 09:35:58
Gracias Rosa,

La verdad es que no uso Fast Report, sino Free Report, y no encuentro el evento OnBeforePrint, aunque si OnBeginBand, OnBeginDoc, etc....

Buscando por los foros de fast report (en ingles), encontré la forma de acceder a los objetos(?) del informe, de forma que puedo cambiar todas sus propiedades.

El codigo es este:

var
el_memo: TfrMemoView;
begin
el_memo:=TfrMemoView(frReport1.FindObject('memo1'));
if el_memo<> nil then el_memo.Memo.Text:='';
// otra forma de acceder, este vez para cambiar las dimensiones
if el_memo<> nil then el_memo.SetBounds(200,100,40,20);
end;

Se puede acceder a cualquier propiedad de los objetos del informe.
Esto lo hago despues de cargar el informe, pero antes de prepararlo.

Gracias por la ayuda

Rosa
07-02-2004, 11:32:36
Hola

No era en el OnBeforePrint, me colé. El código lo pones directamente en el cuerpo del memo, donde pondrías el texto a mostrar. No olvides ponerlo entre begin y end para que lo pueda interpretar.

Suerte

TJose
09-02-2004, 14:16:16
Hola Sick boy, hola foro
Lo que quiere realizar lo puedes lograr a traves de un script, no solo puedes modificar la visibilidad, sino tambien el color, contenido(el texto a mostrar), realizar un recuadro, resaltar el texto, etc, etc.
Como hacerlo:
Doble click al memo
Checkear Script parta que se habra la ventana.
Y colocas el codigo necesario.
Hay un ejemplo en la ayuda del FreeReport.
No recuerdo exactamente la sintaxis, pero es algo asi
If(Campo_N = Condicion) then
begin
Text = "Hola Mundo"; //Contenido
Color = clRed; //Color
Visible = true; // visibilidad

end
else
begin
visible = false;
end

Controlalo con el ejemplo de la ayuda, pero es algo parecido a lo que muestro.

Saludos

TJose