PDA

Ver la Versión Completa : Parametro tamaño


barakuda
03-05-2013, 06:04:13
Hola buenos dias,

Nunca se me dio el caso pero hoy tengo una duda sobre los parametos que se le puede pasar a rave report y es que me preguntaba si es posible pasar desde delphi, de alguna manera, el tamaño de letra con el cual debe imprimir un texto.

A través de SetParam('NombreParametro', ValorParametro) le puedo mandar el texto que yo quiera, pero ... ¿existe la manera de poder decir a rave report que el texto que le envió lo muestre a un tamaño concreto?

Ejemplo:
Si la edad es < a 25 años el tamaño del texto sera de 20 de lo contrario seria de 40

Tu edad es de 15 años
....
Tu edad es de 30 años

gracias de antemano,
un saludo!

Casimiro Notevi
03-05-2013, 11:08:21
La verdad es que yo no lo sé, pero se supone que desde el propio ravereport podrás hacerlo y no será necesario hacerlo desde delphi.

hoyosfelix
10-05-2013, 00:46:42
Hola,

Te doy una idea para implementar.

Tu edad es de 30 años

En el Rave:
Colocar dentro de un Text Component el primer texto: "Tu edad es de ", luego dentro de otro: "años".
Desde Delphi se puede enviar la edad: 30 como parámetro, que en Rave lo capturamos por medio del Data Text Component.

En el Event Editor del Data Text Component seleccionar el evento "OnBeforePrint" en Available Events y colocar el código:

if dataviewEdad.AsFloat > 30 then
DataText5.Color := clRed;
else
DataText5.Color := clBlack;
end if;

Lo que no recuerdo es cómo aumentar de tamaño y poner en negrita el texto...te dejo como tarea para investigar y luego comentar aquí para que todos podamos saber.

Saludos.

barakuda
24-05-2013, 20:24:09
Hola ...

Gracias a hoyosfelix por mostrame el camino, ya resolvi el problema. Resulta que rave no es capar de cambiar el tipo o el tamaño de fuente tan sencillamente como lo puede hacer con el color es decir
DataText5.Color := clRed;
DataText5.Font := 'Arial, 32'; // esto no funciona
tenemos que usar la propiedad Fontmirror junto con un FontMaster y en ella si podemos elegir a gusto propio lo que queramos, luego para que se nos haga efectivo es tan sencillo como poner el condicional y listo:
if dataviewEdad.AsFloat > 30 then
DataText14.Fontmirror := FontMaster2;
else
DataText14.Fontmirror := FontMaster1;
end if;

un saludo y gracias, espero poder haber sido de ayuda