Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2015
jupehe jupehe is offline
Miembro
 
Registrado: feb 2008
Posts: 17
Poder: 0
jupehe Va por buen camino
Rave cambiar color a un rectangulo

LLevo varios dias intentado, que el color de rectangulo rectagle1.fillcolor cambien segun el valor de un datatex, del mismo reporte. En el quickreport lo tenia echo pero aqui no consigo que funcione. me podrias ayudar a conseguirlo o donde puedo conseguir la información, ya que toda la que he conseguido, no me es de ayuda.
Gracias y un saludo a todos
Responder Con Cita
  #2  
Antiguo 23-03-2015
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola,

cuando trabajo con rave intengo hacer todos los cambios de apariencia desde delphi.

Para tu caso sería algo así.

Código Delphi [-]
procedure.Imprimir();
var
Pagina: TRavePage;
Rectangulo:TRaveRectangle;
begin
RvProject1.SelectReport('Report1',true); //Tienes que poner el nombre del report
Pagina:= RVProject1.Projman.FindRaveComponent('Report1.Page1',nil) As TRavePage; //Tienes que poner el nombre de la página.
Rectangulo:=RvProject1.ProjMan.FindRaveComponent('Rectangle1',Pagina) as TRaveRectangle; //ahora tienes que poner el nombre del rectángulo.
//ya puedes utiilzar el rectángulo de rave desde delphi como quieras
if true then Rectangulo.FillColor:=ClLime
  else Rectangulo.FillColor:=ClPurple;
end;

Por cierto, en el uses tienes que añadir las librerías correspondientes de los objetos del rave que vas a utilizar, para este caso (los digo de memoria) creo que son RVCsStd o RVCsDraw y RVClass

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #3  
Antiguo 23-03-2015
jupehe jupehe is offline
Miembro
 
Registrado: feb 2008
Posts: 17
Poder: 0
jupehe Va por buen camino
Gracias por responder, lo he probado y me da violacion de acceso, de todas maneras, pienso que solo valdria para genera una pagina, yo lo que necesito, es hacer un reporte de todos los registros y ir cambiando el color del rectangulo segun lo que tenga otro campo, ejemplo si el campo pone pan, el color seria rojo, si es azucar seria amarillo.
Perdona mi ignorancia, pero acabo de empezar con el rave.
Un saludo. seguire probando

Segun parece el error es cuando
if true then Rectangulo.FillColor:=ClLime
else Rectangulo.FillColor:=ClPurple;

me debe faltar alguna libreria.

Última edición por jupehe fecha: 23-03-2015 a las 23:04:05.
Responder Con Cita
  #4  
Antiguo 24-03-2015
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
Hola,

normalmente ese error me salta cuando me he equivocaco al poner el nombre del componente del rave, o porque no he elegido el reporte correcto y por lo tanto no encuentra el objeto que estoy buscando.

Comprueba que tu reporte de rave sea el Report1.
Que el nombre de la página de ese reporte sea Page1.
Que el nombre del rectángulo al que quieres cambiar el color se Rectangle1.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #5  
Antiguo 26-03-2015
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 18
identsoft Va por buen camino
Otra solucion puede ser en los eventos del propio Rave.
Antes de imprimir la banda compruebas el valor del dataset y cambias ( o no) el color del rectangulo.
Código Delphi [-]
function DataBand1_Onbeforeprint(Self:TRaveDataBand)
begin
  if datatext.text = 'X' then
     rectangle1.Fillcolor := 'Blue';
 else
    rectangle1.FillColor := 'Red';
end;
Cambia los nombres del rectangulo y del datatext por los tuyos.

Última edición por nlsgarcia fecha: 26-03-2015 a las 13:58:52. Razón: Sintaxis Delphi
Responder Con Cita
  #6  
Antiguo 26-03-2015
jupehe jupehe is offline
Miembro
 
Registrado: feb 2008
Posts: 17
Poder: 0
jupehe Va por buen camino
Ya consegui que lo hiciera de una manera que me facilita lo que necesito
Código Delphi [-]
If DataView1campo.AsString='valordelcampo'  THEN
   rectangle1.fillcolor:=clRed;
 end if;
todo lo que habeis puesto me valia, pero de esta manera y teniendo que controlar varios coleres, me ha sido mas facil.

Gracias a todos por vuestra ayuda, que me ha sido de mucha utilidad. Un saludo

Última edición por Casimiro Notevi fecha: 26-03-2015 a las 21:17:01.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
rellenar de color rectangulo dibujado en bitmap cenedelphi Gráficos 7 02-08-2011 08:59:44
Cambiar posicion de rectangulo o Linea en RAVE Alexander Impresión 0 15-06-2007 16:52:51
Cambiar el rectángulo de Foco en un TListBox dec Trucos 2 10-09-2006 17:37:28
RAVE ¿Como cambiar color de fondo segun resultado del query? ach_666 Impresión 0 03-05-2006 01:33:28
Cambiar Color Rave Report Rabata Impresión 0 29-07-2004 13:10:12


La franja horaria es GMT +2. Ahora son las 20:25:48.


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