PDA

Ver la Versión Completa : StartNewPage


barakuda
10-07-2013, 05:08:33
Buenas,

Después de dar mil vueltas necesito algo de luz, el temas es que según la elección del usuario el report puede salir haciendo salto de hoja o por el contrario todo los datos juntos.
Esto se que lo puedo conseguir usando la propiedad de StartNewPage, True para que haga el salto y False para que no lo haga, mi problema que no consigo pasarle desde la aplicación en delphi o ni tan siquiera desde el mismo report, aprovechando un campo de texto. Si intento haciendo algo parecido a:

GroupHeader1.StartNewPage:= StrTOBool(texto12.text)

me da error, no se como puedo convertir el texto a booleano ya que al menos a si podria jugar un poco y apañarmelas.
Pueden darme algún consejo.

gracias de antemano.!

Casimiro Notevi
10-07-2013, 11:00:08
Por favor, recuerda poner un título algo más descriptivo con lo que solicitas.
Si te preocupa la forma de convertir un string a boolean, mejor usas un boolean y se acabó el problema.
Aparte, "me da error" es algo que no podemos adivinar, deberías copiar y pegar el mensaje exacto del error.
Ya sabes, cuanto más información facilites, mejores serán las respuestas. Así sólo podemos intentar adivinar :)

barakuda
10-07-2013, 18:17:49
hola;

elcodigo esta en el evento OnBeforePost:


{ Event for GroupHeader1.OnBeforeReport }
function GroupHeader1_OnBeforeReport(Self: TRaveBand);
begin
GroupHeader1.StartNewPage:= strTOboll(Text12.text);
end OnBeforeReport;


El error que me da es: Error #22- Unknow identifier [strTOboll].
EL problema es que necesito pasar desde delphi un dato bool a rave report o bien convertir un texto a bool desde el propio rave report

gracias de antemano.

Casimiro Notevi
10-07-2013, 18:23:39
hola;

elcodigo esta en el evento OnBeforePost:

Código Delphi [-] (http://www.clubdelphi.com/foros/#){ Event for GroupHeader1.OnBeforeReport } function GroupHeader1_OnBeforeReport(Self: TRaveBand); begin GroupHeader1.StartNewPage:= strTOboll(Text12.text); end OnBeforeReport;


El error que me da es: Error #22- Unknow identifier [strTOboll].
EL problema es que necesito pasar desde delphi un dato bool a rave report o bien convertir un texto a bool desde el propio rave report

gracias de antemano.

Ahora está más claro, ¿qué hay en text12.text?, supongo que un "1" o un "0". 1 es true y 0 es false.
groupheader1.startnewpage := text12.text="1"

barakuda
10-07-2013, 21:04:24
nas,

con el codigo:
groupheader1.startnewpage := text12.text="1"
me da el error: Error #11- Unknow operator []

por el contrario si cambio las " por ' :
groupheader1.startnewpage := text12.text='1'
no da error pero tampoco me altera el formulario.

Casimiro Notevi
10-07-2013, 22:03:15
Cierto, se me pasó y puse las comillas dobles, en delphi es la comilla simple.

¿Pero has probado a poner directamente el valor?, lo mismo estás intentando hacer algo que no es el camino correcto para lograrlo:
groupheader1.startnewpage := True

barakuda
11-07-2013, 04:30:13
nas,

groupheader1.startnewpage := True
eso si funciona, el problema es que desde la aplicacion es desde donde le tengo que pasar true para que haga salto o false para que imprima seguido.
El tema seria meter una variable que fuera tipo booler al startnewpage pero e hay el problema, que no me deja.

Casimiro Notevi
11-07-2013, 09:36:39
Por eso te pregunto que si desde delphi pones esa instrucción, ¿funciona o no?

groupheader1.startnewpage := True

barakuda
11-07-2013, 10:07:21
nas,

no, desde delphi no puedo llamar a la propiedad startnewpage del groupheader, de hay mi idea en pesarle via, RvProject2.SetParam('checkSN', check); un texto con contenido 'true' o un 'false' y que en rave lo pudiera entender como una variable tipo booler

Casimiro Notevi
11-07-2013, 10:23:43
Tu problema es que no sabes si se puede (o no se puede) pasar parámetros a un informe de ravereport. Busca información sobre eso, es lo que necesitas.

barakuda
11-07-2013, 18:39:22
Nas,...

Despues de dormir un rato, curro de noche, con la mente mas clara encontré la solución, os la posteo por si a alguien le puede ser de utilidad:

En delphi:
Form1.RvProject2.SetParam('check', marcado);
Marcado es el resultado de tener marcado el ckexbox, 'True', o no 'False'.
if report1.CheckBox1.Checked=False then marcado:='True' else marcado:='False';


En Rave Report:
En el area GroupHeader1 creamos un Textcomponent con la propiedad Text a True, por ejemplo y con la propiedad visible a false.
Luego y en Event Edito creamos un OnGetGroup con lo siguiente:
groupheader1.startnewpage := text12.text=RaveProject.GetParam('check');

... y eso es todo.

un saludo!!

Casimiro Notevi
11-07-2013, 18:56:57
^\||/
.