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
^\||/
.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.