FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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?
|
#2
|
|||
|
|||
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 :. |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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 |
#5
|
|||
|
|||
del código en cuestión:
deberás tenre en cuenta:
|
#6
|
|||
|
|||
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 beginHe 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?? |
#7
|
|||
|
|||
Tambien lo he intentado mediante
Bitmap1.image:='c:\datos\foto\foto1.bmp';y me sigue fallando. ¿Como se accede a las propiedades de los componentes en Rave? ¿Igual que en Delphi (NombreObjeto.Propiedad)? Mi gran problema es que quiero modificar el contenido de una foto de un informe en tiempo de ejecucion. Tras ver que no doy con la tecla para conseguirlo, estoy pensando en intentarlo mediante FastReport ¿Es tan complicado tambien con FastReport? Salu2 |
#8
|
|||
|
|||
prueba el siguiente código, con lo que podras ver donde falla
El componente bitmap del rave tiene una propiedad que se llama FileLink donde puedes utilizar el nombre del fichero 'C:\...' Última edición por Julià T. fecha: 12-05-2004 a las 21:04:40. |
#9
|
|||
|
|||
El mensaje que sale es que no existe "ImpresionVentaEsc o Page1", osea, k el valor de MyPage=NIL
He revisado que exista el nombre del fichero (por si ,por descuido, estaba mal escrito), y esta correcto. Esta ubicado en la misma carpeta donde esta mi aplicacion en Delphi He visto que el componente Page1, esta dentro de un Report1. he hecho un: with RVProject1.Projman do MyReport := FindRaveComponents('ImpresionVentaEsc.Report1,nil) as TRaveReporty me dice que "No existe Report1" ¿donde puede estar fallando? Te agradezco enormemente el interes que estas poniendo en intentar ayuudarme. Muchas gracias |
#10
|
||||
|
||||
Prueba a poner tu reporte en c:\
__________________
Se hace lo que se puede que siempre es menos de lo que se dice |
#11
|
|||
|
|||
Bueno, al fin y despues de mucho pelearme, he logrado que arranque. Os muestor el codigo, para las dudas
var MyPage:TRavePage; MyText:TRaVeText; MyReport:TRaveReport; MyProject:TRaveProjectManager; MyBitMap:TRaveJPEGImage; begin 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('Page1',MyReport) As TRavePage; if MyPage<>nil then begin MyBitMap := RVProject1.Projman.FindRaveComponent('Foto',MyPage) As TRaveJPEGImage; if MyBitMap<>nil then begin MyBitMap.image.LoadFromFile('c:\cancelada\datos\fotos\tina.jpg'); RVProject1.Execute; RVProject1.Close; end else Showmessage('no existe Text') end else Showmessage('no existe Pagina') end else Showmessage('no existe Reporte') end else Showmessage('no existe Projecto') end; end; Creo que el fallo era que si ponia "ImpresionVentaEsc.Page1" decia que no lo encontraba. En cambio si ponia "page1" no daba problemas. Quizas al estar definido en la propiedad ProjectFile del componente RVProject el informe ImpresionVenta Esc.rav, ya no hace falta ponerlo en el procedimiento FindRaveComponent Muchas gracias a todos por vuestra ayuda (y en especial a Juliá T.) |
#12
|
|||
|
|||
RVProject1.Open;
MyProject := RVProject1.Projman; if MyProject<>nil then begin MyReport:=RVProject1.Projman.FindRaveCOmponent('Report1',nil) as TRaveReport;end |
#13
|
|||
|
|||
Hola PWT:
Ahora que funciona y ya saber por que, tan solo te hace falta que prestes más atención al texto que te contestan (como en la repuesta número 5), que utilizes los tags "code" o "delphi" y que cierres el report si no lo necesitas, tal como indica el codigo siguiente:
|
#14
|
||||
|
||||
Rave cambiar propiedades de componentes.
Hola a todos,
He tratado de cambiar las propiedades de los componentes del reporte pero no he podido, He visto los ejemplos que estos hilos muestran, pero no me funciona tampoco ya que no reconoce TRaveJPEGImage, debo instalar algun componente adicional?. Básicamente lo que quiero es cambiar la posicion de un rectangulo y si es visible o no, he podido cambiar el texto sin pasarle parámetros:
Como puedo cambiar las propiedades del Rectangulo? Gracias. Alexander
__________________
Cielos azules |
#15
|
||||
|
||||
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 |
#16
|
|||
|
|||
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?? |
#17
|
|||
|
|||
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..
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|