Fórum imagem no rave atraves da propriedade FileLink #357598
25/04/2008
0
caros colegas, uso o rave 7.5 e o delphi 2007. como nao consegui instalar o componente para jpg no rave, eu extraio o jpg da tabela (firebird) para um diretório, converto ele em bitmap e jogo seu caminho numa variavel para tentar envia-lo para o rave atraves da propriedade FileLink do componente Bitmap do rave.
o componente esta dentro de um data band (lincado a um DataView), que por sua ves está dentro de um componente region. tudo funciona normal no rave quando busco os dados do banco de dados
meu problema é que o código abaixo, que deveria funcionar, nao funciona. se eu remover a condiçao ´if bmp <> nil then´, eu tenho um erro de access violation, se eu nao remover a condiçao, nao é recuperado imagem alguma no rave...
alguem poderia me ajudar?
abraços a todos!
o componente esta dentro de um data band (lincado a um DataView), que por sua ves está dentro de um componente region. tudo funciona normal no rave quando busco os dados do banco de dados
meu problema é que o código abaixo, que deveria funcionar, nao funciona. se eu remover a condiçao ´if bmp <> nil then´, eu tenho um erro de access violation, se eu nao remover a condiçao, nao é recuperado imagem alguma no rave...
alguem poderia me ajudar?
uses RvCsStd, RvClass . . . var Img: TRavePage; bmp: TRaveBitmap; begin Ane := RvPLaudo.ProjMan.FindRaveComponent(´RptLaudo.Anexos´, nil) as TRavePage; Img := RvPLaudo.ProjMan.FindRaveComponent(´RptLaudo.Imagem´, nil) as TRavePage; Bmp := RvPLaudo.ProjMan.FindRaveComponent(´RptLaudo.bmpImg´, Img) as TRaveBitmap; if not DM.cdsClassf01FOTO.IsNull then begin Ane.GotoPage := Img; if bmp <> nil then begin Bmp.FileLink := Variavel_que_contem_o_caminho_da_imagem; Connection.DoGetRow; end; end; end;
abraços a todos!
Mahdak
Curtir tópico
+ 0
Responder
Posts
25/04/2008
Robsonr
Boa tarde mahdak
Aki eu usei um esqueminha que o marcello me passou ele funciona desta maneira:
1 – Criei um parâmetro com o nome de pFoto já em cima do meu relatório que se chama
2 – No botão que chama o relatório eu coloquei assim:
procedure Tfform.SpeedButton1Click(Sender: TObject);
Var
vCodigo:Integer; //Código do aluno selecionado
vFoto:String;//Essa variável vai ser carregada com o endereço da foto
begin
vCodigo:=StrToInt(DBEdit1.Text);//O String do campo DBEdi1 é transformado em Inteiro
vFoto:=(ExtractFilePath(ParamStr(0))+´Fotos\´+dmTables.tbAlunosFotoAluno.AsString);//O Endereço da foto é carregado na variável vFoto;
with dmReports.qrFichaIndividual do //Com o query qrFichaIndividual fazer
begin
Close;
dmReports.RvRelatorios.SetParam(´pFoto´,vFoto);//Relaciona a variável vFoto com o parâmetro pFoto do Rave
Parameters.ParamByName(´pCodigo´).value:=vCodigo;//Aqui são carregados os dados do Aluno tendo como base o código do DBEdit1.
Open;//Abre o query
dmReports.RvRelatorios.ExecuteReport(´rFichaIndividual´);//Executa o relatório rFichaIndividual.
end;
end;
end.
3 – No Rave coloquei o DataText20 e fui no objectInspector e setei o parâmetro criado no item 1
4 – No evento onBeforePrint do Objeto BMP que está colocado no relatório eu coloquei:
Bitmap1.FileLink:=(DataText20.text);
5 – Compilei o comando no botão apropriado do relatório e salvei o relatório. Depois voltei ao Delphi e rodei a aplicação. Então VoeAle – Não me critiquem não sei francês.
Ah, já ia me esquecendo o DataText não tem uma opção visible, então mudei a cor dele para white – de inglês eu entendo. E foi só.
Daí vc faz as adaptações conforme sua necessidade
Espero ter ajudado!
Aki eu usei um esqueminha que o marcello me passou ele funciona desta maneira:
1 – Criei um parâmetro com o nome de pFoto já em cima do meu relatório que se chama
2 – No botão que chama o relatório eu coloquei assim:
procedure Tfform.SpeedButton1Click(Sender: TObject);
Var
vCodigo:Integer; //Código do aluno selecionado
vFoto:String;//Essa variável vai ser carregada com o endereço da foto
begin
vCodigo:=StrToInt(DBEdit1.Text);//O String do campo DBEdi1 é transformado em Inteiro
vFoto:=(ExtractFilePath(ParamStr(0))+´Fotos\´+dmTables.tbAlunosFotoAluno.AsString);//O Endereço da foto é carregado na variável vFoto;
with dmReports.qrFichaIndividual do //Com o query qrFichaIndividual fazer
begin
Close;
dmReports.RvRelatorios.SetParam(´pFoto´,vFoto);//Relaciona a variável vFoto com o parâmetro pFoto do Rave
Parameters.ParamByName(´pCodigo´).value:=vCodigo;//Aqui são carregados os dados do Aluno tendo como base o código do DBEdit1.
Open;//Abre o query
dmReports.RvRelatorios.ExecuteReport(´rFichaIndividual´);//Executa o relatório rFichaIndividual.
end;
end;
end.
3 – No Rave coloquei o DataText20 e fui no objectInspector e setei o parâmetro criado no item 1
4 – No evento onBeforePrint do Objeto BMP que está colocado no relatório eu coloquei:
Bitmap1.FileLink:=(DataText20.text);
5 – Compilei o comando no botão apropriado do relatório e salvei o relatório. Depois voltei ao Delphi e rodei a aplicação. Então VoeAle – Não me critiquem não sei francês.
Ah, já ia me esquecendo o DataText não tem uma opção visible, então mudei a cor dele para white – de inglês eu entendo. E foi só.
Daí vc faz as adaptações conforme sua necessidade
Espero ter ajudado!
Responder
Gostei + 0
25/04/2008
Mahdak
robsonr. Valeu!!!!!!!!!!!!!!!!!!!!!!
essa foi pra muê pau!
só criei um campo (tmp) na tabela, atribui o caminho da imagem ao campo, coloquei um dataText no relatório relacionado ao campo e no evento mencionado do image atribui ao .FileLink o valor do componente dataText, Exatamente como voce falou...
beleza irmao, que fique essa dica para todos!!!! alguns podem até chamar isso de gambiarra, mas que resolveu um problemao aqui!
valeu!
essa foi pra muê pau!
só criei um campo (tmp) na tabela, atribui o caminho da imagem ao campo, coloquei um dataText no relatório relacionado ao campo e no evento mencionado do image atribui ao .FileLink o valor do componente dataText, Exatamente como voce falou...
beleza irmao, que fique essa dica para todos!!!! alguns podem até chamar isso de gambiarra, mas que resolveu um problemao aqui!
valeu!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)