Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   StartNewPage (https://www.clubdelphi.com/foros/showthread.php?t=83638)

barakuda 10-07-2013 05:08:33

StartNewPage
 
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:

Código Delphi [-]
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 Noteví 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:

Código Delphi [-]
{ 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 Noteví 10-07-2013 18:23:39

Cita:

Empezado por barakuda (Mensaje 463615)
hola;

elcodigo esta en el evento OnBeforePost:

Código Delphi [-]{ 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.
Código Delphi [-]
groupheader1.startnewpage := text12.text="1"

barakuda 10-07-2013 21:04:24

nas,

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

por el contrario si cambio las " por ' :
Código Delphi [-]
groupheader1.startnewpage := text12.text='1'
no da error pero tampoco me altera el formulario.

Casimiro Noteví 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:
Código Delphi [-]
groupheader1.startnewpage := True

barakuda 11-07-2013 04:30:13

nas,

Código Delphi [-]
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 Noteví 11-07-2013 09:36:39

Por eso te pregunto que si desde delphi pones esa instrucción, ¿funciona o no?

Código Delphi [-]
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 Noteví 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:
Código Delphi [-]
Form1.RvProject2.SetParam('check', marcado);
Marcado es el resultado de tener marcado el ckexbox, 'True', o no 'False'.
Código Delphi [-]
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:
Código Delphi [-]
groupheader1.startnewpage := text12.text=RaveProject.GetParam('check');

... y eso es todo.

un saludo!!

Casimiro Noteví 11-07-2013 18:56:57

^\||/
.


La franja horaria es GMT +2. Ahora son las 08:55:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi