Ver Mensaje Individual
  #1  
Antiguo 26-08-2014
koiji koiji is offline
Miembro
 
Registrado: oct 2007
Posts: 21
Reputación: 0
koiji Va por buen camino
guardar una imagen a firebird con delphi

BUENAS TARDES TENGO ESTES CODIGO QUE ENCONTRE PARA ALMACENAR IMAGENES ESTOY UTILIZANDO IBQUERY PARA ALMACENAR LA IMAGEN PERO NO FUNCIONA PORQUE
SALE UN ERROR EN jpg.Assign(bmp); ESTOY UTILIZANDO DELPHI 2010 gracias por su ayuda

Código Delphi [-]
implementation

{$R *.dfm}

uses jpeg;

var jpg: TJPEGImage;

procedure TForm1.FormCreate(Sender: TObject);
begin
 jpg := TJPEGImage.Create;        // Creamos el objeto que "entiende" al JPEG

end;

// Guardar la foto en la tabla
procedure TForm1.Button1Click(Sender: TObject);
var bmp: TBitmap; Stream: TStream;
begin
 if not OpenDialog1.Execute then Exit;

 bmp := TBitmap.Create;           // Creamos el objeto que "entiende" al Bitmap
 bmp.LoadFromFile(OpenDialog1.FileName);  // cargamos la imagen
 jpg.Assign(bmp);                 // signamos la imagen BMP al objeto del JPEG
 bmp.Destroy;                     // y liberamos el objeto. }

 ADOTable1.Open;                  // Abrimos la tabla
 ADOTable1.Insert;                // Insertamos una nueva tupla
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmWrite); // Asignamos el BLOB a un stream
 jpg.SaveToStream(Stream);        // y guardamos la imagen como JPEG (convertido), en el stream
 Stream.Destroy;                  // liberamos.
 ADOTable1.Post;                // Guardamos.

end;

// cargar la foto de la tabla.
procedure TForm1.Button2Click(Sender: TObject);
var  Stream: TStream;
begin
 ADOTable1.Open;                 // Abrimos la tabla
 ADOTable1.Last;                 // Nos vamos a la última tupla para ver la ultima imagen añadida.
 Stream := ADOTable1.CreateBlobStream(ADOTable1.FieldByName('photo'), bmRead); // Lo mismo que el anterior caso pero ahora en modo de escritura.
 jpg.LoadFromStream(Stream);     // Cargamos el BLOB al objeto JPEG
 Stream.Destroy;                 // liberamos...
 Image2.Picture.Assign(jpg);     // y asignamos la imagen al TPicture.

 end;
Responder Con Cita