[firebase-br] Grava JPG no banco (OFF 1/2 Urgente)

Francisco Thiago jeandeadlucky em yahoo.com.br
Seg Fev 21 13:20:22 -03 2005


Gente, o nosso amigo Fausto aqui da lista me passou duas procedure de como 
fazer.
Acredito que ele não teria problema de postar aqui :D

Eu estava fazendo já algo.... mas acontece que sempre dava um erro de 
BitMap.... ai eu descobri que o problema estava no TDBImage. Usem o TImage e 
controlem a leitura/gravação atraves de metodos como AfterScroll ou 
DataChange (TDataSource)

[]'s a todos você e muito obrigado


Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento e Banco de dados
MSN: thiago em enterplug.com.br

procedure 
GravaFoto(Tbl:TDataSet;Campo:TField;Foto:TImage;OpenDlg:TOpenPictureDialog );
var
  BS:TStream;
  MinhaImagem:TJPEGImage;
begin
  OpenDlg.Filter := 'JPEG Image File (*.jpg)|*.jpg|JPEG Image File 
(*.jpeg)|*.jpeg';
  OpenDlg.Title := 'Carregar Foto';
  if not (Tbl.State in [dsEdit, dsInsert]) then
   Tbl.Edit;
  if OpenDlg.Execute then
  begin
    if OpenDlg.FileName <> '' then
    begin
      BS := Tbl.CreateBlobStream((CAMPO as TBlobField),bmWrite);
      MinhaImagem := TJPEGImage.Create;
      MinhaImagem.LoadFromFile(OpenDlg.FileName);
      MinhaImagem.SaveToStream(BS);
      Foto.Picture.Assign(MinhaImagem);
      BS.Free;
      MinhaImagem.Free;
    end;
  end;
end;

procedure MostraFoto(Tbl:TDataSet;Campo:TField;Foto:TImage);
var
  BS:TStream;
  MinhaImagem:TJPEGImage;
begin
  BS := Tbl.CreateBlobStream((CAMPO as TBlobField),bmRead);
  if BS.Size > 0 then
  begin
    try
      MinhaImagem := TJPEGImage.Create;
      MinhaImagem.LoadFromStream(BS);
      Foto.Picture.Assign(MinhaImagem);
    except
    end;
  end
  else
    Foto.Picture.Assign(nil);
  MinhaImagem.Free;
  BS.Destroy;
end;


----- Original Message ----- 
From: "Leonardo Lima" <leonardo em softguild.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, February 21, 2005 11:11 AM
Subject: Re: [firebase-br] Grava JPG no banco (OFF 1/2 Urgente)


Caro colega Thiago:

Você pode utilizar o método LoadFromFile do parâmetro ou do campo da sua
query para fazer isso.

Sucesso.

----- Original Message -----
From: "Francisco Thiago" <jeandeadlucky em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, February 21, 2005 11:11 AM
Subject: [firebase-br] Grava JPG no banco (OFF 1/2 Urgente)


Olá amigos,

Sim, eu analisei a questão do blob e já analisei o caso para saber se é
necessário e possível fazer isso.

Cheguei a conclusão que sim... mas tem um problema:

Eu não consigo gravar JPG no banco!!! Como eu faço? ("Delphi")


Obrigado

Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento e Banco de dados
MSN: thiago em enterplug.com.br
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br

__________ Informação do NOD32 1.987 (20050128) __________

Esta mensagem foi verificada pelo NOD32 Sistema Antivírus
http://www.nod32.com.br



__________ Informação do NOD32 1.1001 (20050217) __________

Esta mensagem foi verificada pelo NOD32 Sistema Antivírus
http://www.nod32.com.br



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br








Mais detalhes sobre a lista de discussão lista