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.

Cambiar orientaciondel papel en FastReport

FastReport for Xailer & [x]Harbour (English/Spanish)
Responder
Alfonso
Mensajes: 33
Registrado: Lun Dic 14, 2020 10:21 am
Ubicación: Santurtzi
Contactar:

Cambiar orientaciondel papel en FastReport

Mensaje por Alfonso »

Estoy intentando cambiar la orientación del papel en tiempo de ejecución de FastReport, en función de una variable que envío desde el programa.

He puesto el siguiente código, en la pestaña Código de FastReport:

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin

// <nTipo> es la variable que viene desde el programa

Page1.Orientation:= IIF(<nTipo>=1,'poPorTrait','poLandscape');

end;

Pero FastRepor de un error:

Could not convert variant of type (UnicodeString) into type (Boolean)

¿Alguna idea?

Gracias de antemano por la ayuda.
Un saludo
--
Un saludo
Alfonso
Avatar de Usuario
bingen
Mensajes: 565
Registrado: Lun Jul 07, 2014 8:17 pm
Ubicación: Bilbao
Contactar:

Re: Cambiar orientaciondel papel en FastReport

Mensaje por bingen »

Creo que te sobran las comillas por que los valores son numéricos, tambien puedes usar los números directamente
poPortrait = 1 poLandscape = 2
BiSoft Desarrollo de software profesional
http://www.bisoft.es
Alfonso
Mensajes: 33
Registrado: Lun Dic 14, 2020 10:21 am
Ubicación: Santurtzi
Contactar:

Re: Cambiar orientaciondel papel en FastReport

Mensaje por Alfonso »

Efectivamente Bingen, el campo es numerico.

Ademas, por si a alguien más le es de ayuda, he descubierto que hay que definirlo en un evento de Report no de Page.

procedure ReportOnStartReport(Sender: TfrxComponent);
begin

Page1.Orientation:= IIF(<MiValor><=6,0,1); // 0->PorTrait, 1->LandScape

end;

Gracias por tu ayuda.
--
Un saludo
Alfonso
Responder