Page 1 of 1

Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Fri Jan 04, 2013 4:55 pm
by ruben Dario
Feliz año a todo el forum

Pregunta sobre Fastrepor como colocar una imagen.

A travez de la variables paso unos parametros a reporte
asi
Code: Select all  Expand view

Static Function def_Varfastr(oFrP,DGRUPO,LMOD)
   with object oFrP  
      :AddVariable( "EMPRESA", "NOMBRE", "'"+oApp:M_NOMEMP+"'" )
      :AddVariable( "EMPRESA", "SINONIMO", "'"+oApp:MTITU2+"'" )
       :AddVariable( "EMPRESA", "CAR_IMAGEN", IF(oApp:CAR_IMAG,1,0)  )
      :AddVariable( "EMPRESA", "Imagen", "'"+img+"'" )
   End

 



la Variable CAR_IMAGEN tiene el valor de 1 0 0
cuando es 1 debe mostrar la imagen es la variable Image
si es 0 debe mostar la Variable NOMBRE

Como le digo el el fastreport.

Esto lo debo color en el titulo del reporte. En la Banda Reportitle

Mil Gracias

Re: Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Fri Jan 04, 2013 11:34 pm
by Ariel
ruben,

se me ocurre :
1) creas un objeto imagen oPicture1
2) creas la var de texto oNombre
3) pones los 2 objetos en la misma banda
4) en el onstartreport debes asignar la imagen que envias :
oPicture1.Link:= <cImagen>

en el metodo onbeforeprint de la banda pones :

if tuvar == 0
begin
oPicture.visible:= FALSE ;
oNombre:= TRUE;
end
else
begin
oPicture.visible:= TRUE;
oNombre.visible:= FALSE;
end;

no lo probe pero x ahi van los tiros.
espero te sirva.
salu2, Ariel.

Re: Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Sun Jan 06, 2013 12:59 am
by ruben Dario
Ariel

Gracias por tu respusta , voy a probarlo para ver como me va y te cuento , voy agregar los eventos que me dices , los otros dos objetos ya los tengo definido en el reporte.

Gracias

Re: Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Mon Jan 07, 2013 1:21 am
by ruben Dario
Ariel

Ya ingrese el evento
mira como lo hice me funciona el codigo.

Code: Select all  Expand view

var
 tuv, j: Integer;
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
   if tuv = 0 then        
   begin
     Picture1.visible:= FALSE ;
     NOMBRE.visible:= TRUE;          
   end
  else
    begin
      Picture1.visible:= TRUE;
      NOMBRE.visible:= FALSE ;          
    end;
 
end;

begin
 tuv := <CAR_IMAGEN>;

end.
 


La duda que tengo es como asigno la imagen.
esta es la imagen que envio
:AddVariable( "EMPRESA", "Imagen", "'"+img+"'" )

Pero no encuetro como asignarla.
tu dices que lo asigne de esta manera
en el onstartreport debes asignar la imagen que envias :
oPicture1.Link:= <cImagen>

Pero no encuentro onstartreport como un ventro en Fastrepor

Saludos

Re: Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Mon Jan 07, 2013 3:27 am
by Ariel
ruben,

:TfxReport (Clase principal del reporte)

Evento OnStartReport

procedure OnStartReport(Sender: TfrxComponent);
begin
oPicture1.FileLink:= <cImagen>
end;

suponiendo que oPicture1 es el objeto de tu imagen, sino lo puedes resolver buscame por skype.

salu2, Ariel.

Re: Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Mon Jan 07, 2013 3:03 pm
by Patricio Avalos Aguirre
Hola

puede tambien que te sirva esta

en el archivo FR3
Code: Select all  Expand view
procedure ReportHOnStartReport(Sender: TfrxComponent);
begin
LoadImageFromHbVar(Picture1, 'MyVar');    
end;
 


en tu PRG

Code: Select all  Expand view
PRIVATE MyVar := Parame->Logo // si es campo image
//de lo contrario  seria PRIVATE MyVar := MEMOREAD( FILEIMG )

oFrPrn := frReportManager():new()
oFrPrn:LoadLangRes("spanish.xml")
 

Re: Pregunta sobre Fastrepor como colocar una imagen

PostPosted: Mon Jan 07, 2013 8:29 pm
by ruben Dario
Gracias Ariel y Patricio.

Ya funciono perfecto.

Gracias