Ver Mensaje Individual
  #9  
Antiguo 08-07-2005
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Reputación: 22
SnaKe Va por buen camino
Hola,

A ver, ya he conseguido almacenar imágenes BMP en una base de datos Oracle y luego mostrarlas en un TImage.

Lo primero, el campo de la tabla de la base de datos no debe ser LONG sino que debe ser LONG RAW

Bien, el código para incorporar la imagen sería algo así e iria colocado en el click de un botón que he puesto para añadir la imagen:

Código Delphi [-]
if (OpenDialog1.Execute) then begin
  if (Table1.State <> dsBrowse) then
    Table1.Insert;
  Table1FOTO.LoadFromFile (OpenDialog1.FileName);
  Table1.Post;
end;
OpenDialog1 es un control dialogo de apertura de ficheros.
Table1 es un TTable conectado a la tabla.
Table1FOTO es el campo persistente asociado al campo de tipo LONG RAW

Y luego, para mostrarla en el evento OnAfterScroll del TTable (Table1) he puesto este codigo:
Código Delphi [-]
var
  B : TBitmap;
begin
  B := TBitmap.Create;
  B.Assign (Table1FOTO);
  Image1.Picture.Assign(B);
  B.Free;
end;
Image1 ya sabes lo que es ¿no?.

Esta última parte es posible que funcione simplemente así (ojo, esto no lo he probado):
Código Delphi [-]
begin
  Image1.Picture.Assign(Table1FOTO);
end;

Este codigo combinado con unos buenos try/except y algun control mas por si hubiese error... (paporsiacaso como dicen en mi pueblo) debería funcionarte correctamente.

Espero que te sirva.

Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos

Última edición por SnaKe fecha: 08-07-2005 a las 08:22:26.
Responder Con Cita