Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2006
ach_666 ach_666 is offline
Miembro
 
Registrado: may 2006
Posts: 18
Poder: 0
ach_666 Va por buen camino
Exclamation Como cambiar una propiedad del Rave en tiempo de ejecucion

Hola a tod@s, quiero saber si puedo variar una propiedad de un componente de mi Rave Report, a traves del codigo de mi programa en Delphi.

Es decir, a través de mi aplicación y segun sea el resultado de mi consulta para el Rave, poder cambiar el color de relleno (FillColor) de un rectangulo de mi reporte.

Gracias de antemano por si me podeis ayudar

Un saludo
Responder Con Cita
  #2  
Antiguo 03-05-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
Post si se puede

hola es realmente ataoso hacerlo, pero se puede.....en rl rave no tienes que hacer nada.....solo en delphi....supongo que estas usando un RBDatasetConnection..., buen este tiene una propiedad onGetRow...
ahi declara las siguientes variables

Cita:
Código Delphi [-]
var MyPage: TRavePage;
     MyText1,MyText2{tantas como necesites cambiar}: TRaveText;
     Square1,Square2{tantos como necesites cambiar}:TRaveRectangle

Begin
      if {tu condicion}
      then
      Begin
             with RvLetterCovert.ProjMan do
             Begin
                    MyPage := FindRaveComponent('RCoverLetter.MainPage',nil)  as TRavePage;
                    MyText1 := FindRaveComponent('DataText1',MyPage) as TRaveText; {nombre de tus componentes dentro del rave}
                    Square1:= FindRaveComponent('Square1',MyPage) as TRaveRectangle;
                    if {condicion} 
                    then
                    begin 
                           MyText1.Font.Style:=[fsBold,fsItalic]
                           Square1.FillColor:=clWhite; 
                    end  
                    else
                   begin
                          MyText1.Font.Style:=[];
                          Square1.FillColor:=$00E4E4E4;
                   end;  
                   
                  {por ultimo, esto es muy importante, pasale valor a las columnas a manito... ya que te asume directamente que euieres conservar los campos....}  
                 // ejemplo
                   
                    With Connection do
                    begin
                           WriteIntData('',LettersXCourierLETTER_REF.AsInteger);
                           WriteIntData('',LettersXCourierCORRELATIVO.asInteger);
                           WriteFloatData('',LettersXCourierREF.asFloat);
                           WriteStrData('',LettersXCourierTEXT.AsString);
                           WriteStrData('',LettersXCourierCOURIER_.AsString);
                           WriteStrData('',LettersXCourierYOUR_REF.AsString);
                           {deben ir en el orden que estan definidos en el field editor... y con el tipo correspondiente.....}
                    end;
  
             end;
      end;
end;
;

eso es todo.... saludos

estas son las uniodades que necesitas para que no te cabesees tanto....

RpDefine, RpCon, RpConDS, RpBase, RpFiler, RpRave,
RpRender, RpRenderRTF, OleServer, Word97, RpRenderPDF, RpSystem,RVClass, RVProj, RVCsStd,RVCsDraw
__________________
^_^

http://stna.cl
Responder Con Cita
  #3  
Antiguo 05-05-2006
ach_666 ach_666 is offline
Miembro
 
Registrado: may 2006
Posts: 18
Poder: 0
ach_666 Va por buen camino
Hola gracias por el codigo pero....


No entiendo que es el RvLetterCovert.ProjMan

Además noo consigo ver el codigo completo y la ultima parte (Connection) tampoco lo entiendo mucho, aunque no he llegado a poder comprobar esa parte.

Un saludo y gracias de todas formas
Responder Con Cita
  #4  
Antiguo 05-05-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
explicacion

RvLetterCovert es un componente TRVProyect, en mi ejemplo se llama asi, ProjMan es una propiedad, FindRaveComponent(<nombre reporte.pagina>,nulo)
el resto es facil de deducir....
saludos.
__________________
^_^

http://stna.cl
Responder Con Cita
  #5  
Antiguo 05-05-2006
ach_666 ach_666 is offline
Miembro
 
Registrado: may 2006
Posts: 18
Poder: 0
ach_666 Va por buen camino
¡¡¡¡¡¡¡¡¡ Lo conseguí !!!!!!!!!!!

Muchas Gracias

Esto se podría rematar si me pudieras decir conque Write...Data('',campo) imprimo una Fecha no lo consigo de ninguna forma.

No obstante muchas gracias.
Responder Con Cita
  #6  
Antiguo 05-05-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
Wink no es deducibla....?????

por sia caso WriteDateTimeData();
__________________
^_^

http://stna.cl
Responder Con Cita
  #7  
Antiguo 06-05-2006
ach_666 ach_666 is offline
Miembro
 
Registrado: may 2006
Posts: 18
Poder: 0
ach_666 Va por buen camino
Perfecto funcionó.

Ahora en otro reporte tengo un problema, pq en mi query genero un campo datediff(Fecha1,Fecha2) as dias y luego al hacer el writeIntData me da un error diciendome que no se corresponde con el data que se tiene que escribir.

El problema es que no se como considera el valor dias, desde luego no como entero.

Un saludo y gracias
Responder Con Cita
  #8  
Antiguo 06-05-2006
ach_666 ach_666 is offline
Miembro
 
Registrado: may 2006
Posts: 18
Poder: 0
ach_666 Va por buen camino
POR FIN LO CONSEGUI.

El problema estaba que lo considera un int64 con lo cual la funcion para escribir una diferencia entre dos fechas era WriteInt64Data(..).

Gracias por todo Fredo, y gracias a TinkerBell que resolvio esto ultimo.

Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiar propiedad a combo creado en ejecucion molina669 OOP 4 30-11-2005 16:57:56
TZConnection, como cambiar en tiempo de ejecucion¡¡¡¡ inexperto Conexión con bases de datos 1 26-06-2005 20:57:04
Cargar imagen en tiempo de ejecucion en Rave PTW Impresión 0 06-05-2004 19:01:03
Cambiar tipo de un dato en Rave 5 en tiempo de ejecución Berto2003 Impresión 2 05-03-2004 15:41:21
cambiar color en tiempo de ejecucion? maruenda Varios 8 14-01-2004 21:28:34


La franja horaria es GMT +2. Ahora son las 01:47:58.


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