Ver Mensaje Individual
  #9  
Antiguo 21-07-2010
Mystery Mystery is offline
Miembro
 
Registrado: jul 2007
Ubicación: Santiago de Cuba
Posts: 69
Reputación: 17
Mystery Va por buen camino
Bueno discúlpame que no te haya explicado un poco más al detalle... de todas formas ese método esta un poquito incompleto pues no liberaba los objetos después de terminar...
Aquí te dejo una solución mejor explicada..
Ante todo debo decirte que debes tener lo mínimo, una conexión a tu BD, un objeto del tipo TADODataSet o TADOTable, etc… un timage y un botón jejejejeje…
Después en el evento onclick del botón pones este código… calro debes estar parado en el registro correcto o sea en un registro donde el campo tuyo (en el ejemplo el campo es foto) tenga un valor valido…
Código Delphi [-]
procedure TForm1.btn1Click(Sender: TObject);
var
  jpg:TJPEGImage;
  stream:TMemoryStream;
begin
  img1.Picture:=nil;//Limpio el TImage...
  stream:=TMemoryStream.Create;//creo el stream para guardar la foto que esta en el campo de mi BD SQL
  jpg:=TJPEGImage.Create; //Creo el objeto de tipo jpg... a cual le voy a asignar el contenido del stream...
  try
//==============================================================================
// tbl1 => ADOTable1
// TBblogField se refiere a un campo de tipo BLOB o image, MEMO, etc...
// los cuales tienen la propiedad de salvar su contenido en memoria con el metodo SaveToStream...
// tambien tienen el metodo loadtostream que se usa para salvar binarios casi de la misma manera en campos blob...
//==============================================================================
    TBlobField(tbl1.FieldByName('Foto')).SaveToStream(stream);//salvo el contenido del campo en memoria...
    stream.Seek(0, soFromBeginning);//Pongo el cursor al inicio del stream...
    jpg.LoadFromStream(stream);//cargo el contenido del stream en mi objeto jpg...
    img1.Picture.Assign(jpg);//asigno el objeto a la propiedad picture de mi timage... y ya esta...
  finally
    stream.Free;//libero el stream...
    jpg.Free;//libero mi objeto jpg...
  end;
end;


bueno sin mas



Mystery
Responder Con Cita