Interbase - imagens

Top  Previous  Next

// not tested

Procedure GravaFoto( dDataSet: TDataSet; NomeCampo, FileName: String );

Var

   stImagem: TFileStream;

Begin

   stImagem := TFileStream.Create( FileName, fmOpenRead Or

fmShareDenyWrite );

   Try

      TBlobField( dDataSet.fieldbyname( NomeCampo ) ).LoadFromStream(

stImagem );

   Finally

      stImagem.free;

   End;

End;

 

Procedure ObtemFoto( dDataSet: TDataSet; NomeCampo: String; Var imgDestino:

TImage );

Var

   jpgImg: TJPEGImage;

   stMem: TMemoryStream;

Begin

   If TBlobField( dDataSet.fieldbyname( NomeCampo ) ).IsNull Then Begin

      imgDestino.Picture := Nil;

      Exit;

   End;

   jpgImg := TJPEGImage.Create;

   stMem := TMemoryStream.Create;

   Try

      TBlobField( dDataSet.fieldbyname( NomeCampo ) ).SaveToStream( stMem );

      stMem.Position := 0;

      jpgImg.LoadFromStream( stMem );

      imgDestino.Picture.Assign( jpgImg );

   Finally

      stMem.free;

      jpgImg.free;

   End;

End;