Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Ayuda con Rave Report 6 y Delhpi 2005 (https://www.clubdelphi.com/foros/showthread.php?t=53973)

MaSSaKKre 05-03-2008 20:39:30

Ayuda con Rave Report 6 y Delhpi 2005
 
hola a todos, he desarrollado un sistema para credenciales e informes de personal, el cual esta completo hasta cierto punto 8pues me faltan algunas funciones mas), el problema que tengo es que nunca en mi vida he trabajado con Rave Reports:eek: y por lo tanto no se como enviar los datos de una consulta hacia la realizacion de un informe; según he leido se utilizan 3 componentes q son RvSystem,RvProject y RvDataSetConnection.
pero no se como enviar la informacion hacia el informe, ni como hecharlo a andar.

el procedimiento de mi consulta es el siguiente, esta en un dbgrid, que al ir pulsando hacia abajo, me hace una consulta sobre el registro en el que ando y me envia los valores a unas labels; tambien tengo un procedimiento llamado foto, donde se busca la foto del empleado, la cual esta almacenada en una carpeta en el disco duro y no la puse almacenada en la bd xq me alentaria la bd al momento de mis consultas, ya que manejo mas de 1500 registros y seria muy pesada la consulta. Mi base de datos esta en Access.

primero pongo el procedimiento de la busqueda de la foto y posteriormente el de mi adoquery.

Código Delphi [-]
PROCEDURE TBUSQUEDAGENERAL.FOTO;
VAR NUM_EMPLEADO:STRING;
RUTAFOTO:STRING;
FOTO:TJPEGIMAGE;
BEGIN NUM_EMPLEADO:=LABEL11.Caption; RUTAFOTO:='';    //BUSCANDO EN LA RUTA DE LAS FOTOS
RUTAFOTO:=( (ExtractFilePath( Application.ExeName ) + 'Fotos\'+NUM_EMPLEADO+'.jpg'));
//CARGANDO LA FOTO
IF FILEEXISTS (RUTAFOTO) THEN BEGIN FOTO:=TJPEGImage.Create; FOTO.LoadFromFile(RUTAFOTO); IMAGE1.Picture.Assign(FOTO); //Image1.Visible:=true;
FOTO.Free;
END   ELSE     BEGIN RUTAFOTO:=( (ExtractFilePath( Application.ExeName ) + 'Fotos\LOGO.jpg'));
    FOTO:=TJPEGImage.Create;
    FOTO.LoadFromFile(RUTAFOTO);
IMAGE1.Picture.Assign(FOTO);
  END;
       END;   //END ELSES

Código Delphi [-]
procedure TBUSQUEDAGENERAL.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var NUM_EMPLEADO:STRING;

begin IF DBGRID1.Enabled=FALSE THEN BEGIN EXIT; END;

NUM_EMPLEADO:=DBGRID1.SelectedField.ASSTRING;
IF (NUM_EMPLEADO='') THEN 
BEGIN 
EXIT; 
END   
 ELSE 
     BEGIN
      WITH ADOQUERY2 DO 
       BEGIN        
CLOSE;    
    SQL.Clear;
        SQL.Add('SELECT * FROM Tbl_Personal WHERE NUM_EMPLEADO LIKE "%'+NUM_EMPLEADO+'%"');
       OPEN;
       END;
      //ENVIAR VALORES OBTENIDOS
      LABEL11.Caption:= ADOQUERY2.FieldByName('NUM_EMPLEADO').ASstring;
      LABEL12.Caption:= ADOQUERY2.FieldByName('NOMBRE').ASstring;
      LABEL13.Caption:= ADOQUERY2.FieldByName('APELLIDO_P').Asstring;
      LABEL14.Caption:= ADOQUERY2.FieldByName('APELLIDO_M').AsSTRING;
      LABEL15.Caption:= ADOQUERY2.FieldByName('CARGO').AsSTRING;
      LABEL16.Caption:= ADOQUERY2.FieldByName('AREA').AsSTRING;
      LABEL17.Caption:= ADOQUERY2.FieldByName('STATUS').ASSTRING;
      FOTO;
      IF LABEL11.Caption='' THEN
       BEGIN
       BITBTN1.Enabled:=FALSE;
       END 
        ELSE 
          BEGIN 
          BITBTN1.Enabled:=TRUE;
           END;
     EXIT;
     END;

     END;

la foto esta guardada en *.jpg y se muestra en un contro Timage.

lo que en realidad
quiero hacer es que los datos que estan en las labels (los que envie directo al reporte) asi como tambien la foto que muestro en el Timage.

espero me puedan ayudar u orientar.

ya he leido varios post y manuales pero la vdd no tengo claro los procedimientos.

espero su ayuda, saludos.

MaSSaKKre 05-03-2008 23:38:00

ya casi... solo falta la foto
 
bueno, despues de tanto estar batallando, he logrado enviar los datos a mi reporte y esto desde el rave designer, compile mi programa y logre hacer la conexion que necesitaba para que mi dataview cargara los elementos a mostrar...

solo necesito un poco de ayuda al momento de querer enviar mi imagen que esta en jgp y q se encuentra en mi disco duro...

a ver si alguien me logra ayudar para facilitarme un poco la vida jejeje...

saludos.

MaSSaKKre 06-03-2008 18:23:28

Problema Resuelto
 
pues despues de tanto dolor de cabeza y de leer muchas paginas por internet y visitar sitios, ejemplos, etc.

ahi en el foro encontre un hilo donde decian como manipular un objeto del Rave desde delphi, el cual lo adapte y lo hice funcional segun mis necesidades.

mi procedimiento quedo de la siguiente forma

Código Delphi [-]
procedure TBUSQUEDAGENERAL.Button1Click(Sender: TObject);
var
NUM_EMPLEADO:STRING;
RUTAFOTO:STRING;
FOTO:TJPEGIMAGE;
reporte: TRavePage;
fotorave: Travejpegimage;
begin
 RvProject1.ProjectFile:= ( (ExtractFilePath( Application.ExeName ) + 'Individual.rav'));
 RvProject1.Open;
 //********************************

NUM_EMPLEADO:=LABEL11.Caption;
RUTAFOTO:='';    //BUSCANDO EN LA RUTA DE LAS FOTOS
RUTAFOTO:=( (ExtractFilePath( Application.ExeName ) + 'Fotos\'+NUM_EMPLEADO+'.jpg'));
//CARGANDO LA FOTO
IF FILEEXISTS (RUTAFOTO) THEN
BEGIN
FOTO:=TJPEGImage.Create;
FOTO.LoadFromFile(RUTAFOTO);
IMAGE1.Picture.Assign(FOTO);
//Image1.Visible:=true;
FOTO.Free;
With RvProject1.ProjMan do begin
    reporte := FindRaveComponent('Report1.Page1',nil) as TRavePage;
    fotorave := FindRaveComponent('JPEGImage1',reporte) as TRavejpegimage;
    fotorave.Image.LoadFromFile(RUTAFOTO);
  end;
END
  ELSE
    BEGIN
RUTAFOTO:=( (ExtractFilePath( Application.ExeName ) + 'Fotos\LOGO.jpg'));
    FOTO:=TJPEGImage.Create;
    FOTO.LoadFromFile(RUTAFOTO);
IMAGE1.Picture.Assign(FOTO);
FOTO.Free;
With RvProject1.ProjMan do begin
    reporte := FindRaveComponent('Report1.Page1',nil) as TRavePage;
    fotorave := FindRaveComponent('JPEGImage1',reporte) as TRavejpegimage;
    fotorave.Image.LoadFromFile(RUTAFOTO);
  end;
     END;   //EN ELSES


//********************************
 RvProject1.Execute;
 RvProject1.Close;
end;


bueno, deje mi código xq tal vez alguien mas este interesado en hacer lo mismo y no tenga la menor idea de como hacerlo.

Saludos y gracias a los q por lo menos leyeron con la intencion de aportar algo, pero que supongo no saben manejar el Rave al igual que yo.:p

saludos


La franja horaria es GMT +2. Ahora son las 00:53:18.

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