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 07-05-2004
PTW PTW is offline
Miembro
 
Registrado: abr 2004
Posts: 55
Poder: 21
PTW Va por buen camino
Modificacion de informe Rave

¿Se puede desde Delphi, acceder a los componentes que forman un informe de Rave? ¿Puedo modificar,por ejemplo, la imagen a cargar en un Bitmap component desde Delphi?
Responder Con Cita
  #2  
Antiguo 07-05-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
De hecho se manejan desde Delphi, pero calculo que tu pregunta se orienta al objeto en modo ejecución.
Si es así no tengo idea con el rave pero calculo que debe ser posible, desde freereport u otros similares si se puede, incluso rediseñar el informe.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #3  
Antiguo 08-05-2004
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 22
Julià T. Va por buen camino
En la página tips de nevrona pudes encontrar ejemplos y ayudas, concretamente la que busca es
http://www.nevrona.com/rave/tips/rvtip15.html
Responder Con Cita
  #4  
Antiguo 11-05-2004
PTW PTW is offline
Miembro
 
Registrado: abr 2004
Posts: 55
Poder: 21
PTW Va por buen camino
He probado el ejemplo que viene en la pagina de nevrona

http://www.nevrona.com/rave/tips/rvtip15.html

de un ejemplo de como acceder a los componentes de Rave desde Delphi, pero a mi no me funciona. Me da un error en tiempo de ejecucion "EAccessViolation....."

¿Como puedo modificar el contenido de una imagen de Rave, desde Delphi?

Muchas gracias
Responder Con Cita
  #5  
Antiguo 11-05-2004
Julià T. Julià T. is offline
Miembro
 
Registrado: may 2003
Ubicación: en el teclado
Posts: 314
Poder: 22
Julià T. Va por buen camino
del código en cuestión:
Código Delphi [-]
    
  uses
    RVClass, RVProj, RVCsStd;

  var
    MyPage: TRavePage;
    MyText: TRaveText;

  begin
    RaveProject1.Open;
    With RaveProject1.ProjMan do begin
      MyPage := FindRaveComponent('Report5.Page2',nil) as TRavePage;
      MyText := FindRaveComponent('Text3',MyPage) as TRaveText;
      MyText.Text := 'Some Text';
      MyText.Color := clGreen;
    end; { with }
    RaveProject1.ExecuteReport('Report5');
    RaveProject1.Close;
  end;
deberás tenre en cuenta:
  1. asignar el RaveProject1 a un fichero con reportes
  2. debe existir un reporte 'Report5'
  3. debe existir una página 'Page2' en el reporte anterior
  4. debe existir un campo de texto 'Text3' en la página anterior
Responder Con Cita
  #6  
Antiguo 12-05-2004
PTW PTW is offline
Miembro
 
Registrado: abr 2004
Posts: 55
Poder: 21
PTW Va por buen camino
Si, tuve en cuenta todas esas cosas y me sigue saliendo el mismo error

En mi caso. tengo un reporte que se llama "InformeVentaEsc.rav" que contiene una sola pagina.

Por lo tanto mi codigo que da de la siguiente manera
begin
RvProject1.Open;
With RvProject1.ProjMan do begin
MyPage := FindRaveComponent('ImpresionVentaEsc.Page1',nil) as
TRavePage;
MyText := FindRaveComponent('Text3',MyPage) as TRaveText;
MyText.Text := 'Some Text';
MyText.Color := clGreen;
end; { with }
RvProject1.ExecuteReport('ImpresionVentaEsc');
RvProject1.Close;
end;
He creado un Text component al que le he puesto como nombre Text3, pero no me funciona.

¿Fallo en algo?

He visto que, en Rave, cada componente posee unos Eventos OnBeforePrint, OnAfterPrint. OnBeforeReport, OnAfterReport. En el codigo de uno de estos eventos he intentado modificar el valor de una propiedad de un componente Bitmap:
"Bitmap1.image.loadfromfile('c:\datos\foto\foto1.bmp');

pero, al compilarlo, me dice que no sabe lo que es "image".

Alguien me echa un cable??
Responder Con Cita
  #7  
Antiguo 12-06-2007
Avatar de Alexander
Alexander Alexander is offline
Miembro
 
Registrado: may 2004
Posts: 235
Poder: 21
Alexander Va por buen camino
Smile Ya lo he conseguido

Ya lo conseguí!!!!!, debía poner estas unidades para que me tomara la Clase TRaveRectangle que era la que no me tomaba.

Muchas gracias.

Uses

RpDefine, RpCon, RpConDS, RpBase, RpFiler, RpRave,
RpRender, RpRenderRTF, OleServer, Word97, RpRenderPDF, RpSystem,RVClass, RVProj, RVCsStd,RVCsDraw
__________________
Cielos azules
Responder Con Cita
  #8  
Antiguo 31-10-2007
apolo771 apolo771 is offline
Registrado
 
Registrado: oct 2007
Posts: 3
Poder: 0
apolo771 Va por buen camino
Question ayuda

yo necesito practicamente lo mismo y me ha funcionado asi

RVProject1.Open;
MyProject := RVProject1.Projman;
if MyProject<>nil then begin
MyReport:=RVProject1.Projman.FindRaveCOmponent('Report1',nil) as TRaveReport;
if MyReport<>nil then begin
MyPage:= RVProject1.Projman.FindRaveComponent('Mainpage',MyReport) As TRavePage;
if MyPage<>nil then begin
MyBitMap := RVProject1.Projman.FindRaveComponent('Foto',Mypage) As TRaveBitMap;
if MyBitMap<>nil then begin
try
MyBitMap.FileLink:=(trim(IBCarnetQueryFoto.Value));
Except
end;
RVProject1.Execute;
end;
end
end
end ;
RVProject1.Close;

pero yo estoy imprimiendo Carnetts y cada carnet lleva una foto diferente para cada usuario...y el bitmap lo cargo por medio de un campo en la tabla de tipo String que es donde tengo almacenada la direccion exacta de la foto....

pero resulta que si coloco este codigo en el boton de previsualizar el informe entonces todos los carnets tomaran la primera foto nada mas.... el bitmap lo tengo en una databand que me permite se repita x cantidaddes de vecesel carnet dependiendo de la cantidad de registros.... si la foto estuviera incrustadad en la tabla no tendria problema por que simplemente asociaria el bitmap con el campo de foto.... pero dado que el campo foto es de tipo string para cargar la foto por direccion no puedo hacer eso....

intente colocar ese codigo en el RvSystem en el evento OnNewPage y si me cambia la foto pero al cambiar la pagina me coloca a todas la foto del primer registro de esa pagina.....pero todas las de esa pagina quedan iguales.... hay algun evento en el que al ir registro por registro cuando esta cargando el reporte coloque el codigo y funcione??

espero no incomode que escribi muxo es que quiero darme a entender bien y entiendan mi caso.... alguien me puede hechar una mano??
Responder Con Cita
  #9  
Antiguo 31-10-2007
apolo771 apolo771 is offline
Registrado
 
Registrado: oct 2007
Posts: 3
Poder: 0
apolo771 Va por buen camino
Thumbs up Listo... -.-

tengo como 1 mes peliando con este codigo..... y hoy coloque la duda en este tema y enseguida lo resolvi XDcoloque el mismo codigoMyProject := RVProject1.Projman; if MyProjectnil then begin MyReport:=RVProject1.Projman.FindRaveCOmponent('Report1',nil) as TRaveReport; if MyReportnil then begin MyPage:= RVProject1.Projman.FindRaveComponent('Mainpage',MyReport) As TRavePage; if MyPagenil then begin MyBitMap := RVProject1.Projman.FindRaveComponent('Foto',Mypage) As TRaveBitMap; if MyBitMapnil then begin try MyBitMap.FileLink:=(trim(IBCarnetQueryFoto.Value)); Except end; end; end end end ;en el RVDataConnection1 en el evento OnValidateRow y listo.... solucionado..
Responder Con Cita
  #10  
Antiguo 13-03-2008
MaSSaKKre MaSSaKKre is offline
Miembro
 
Registrado: sep 2005
Posts: 34
Poder: 0
MaSSaKKre Va por buen camino
gracias apolo

muchas gracias apolo771 yo tenia el mismo problema que tu, solo me faltaba poner mi codigo en OnValidateRow... muchas gracias por ese tip!
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


La franja horaria es GMT +2. Ahora son las 02:25:08.


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