Ver Mensaje Individual
  #8  
Antiguo 04-04-2012
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.473
Reputación: 21
newtron Va camino a la fama
Ok, creo que ya lo tengo.

He hecho algunas modificaciones a tu código en función a un ejemplo que he pillado por internet y esto parece que funciona como quiero.

Código Delphi [-]
procedure TNTFormInmuebles.InsertaDatos(Tipo: String);
var
N: SmallInt;
Stream: TStream;
ImagenBMP: TBitmap;
ImagenJPG: TjpegImage;
StretchedBMP: TBitmap;
begin
  DataModule1.EDBQuery1.SQL.Clear;
  DataModule1.edbquery1.SQL.Add('SELECT * FROM DOCUMENTOS WHERE FINCA='+QuotedStr(NtEditCodigo.Damevalor)+' AND TIPO='+QuotedStr(Tipo));
  DataModule1.EDBQuery1.ExecSQL;
  DataModule1.EDBQuery1.First;
  ListView1.Clear;
  ImageList1.Clear;
  N:=0;
  while not DataModule1.EDBQuery1.Eof do begin
    ImagenBMP:= Tbitmap.create;
    ImagenJPG:= TjpegImage.create;
    StretchedBMP := TBitmap.Create;
    StretchedBMP.Width := ImageList1.Width;
    StretchedBMP.Height := ImageList1.Height;
    if DataModule1.EDBQuery1.FieldByName('TIPOI').AsString='J' then begin
      Stream := DataModule1.EDBQuery1.CreateBlobStream(DataModule1.EDBQuery1.FieldByName('IMAGEN') as TBlobField, bmRead);
      ImagenJPG.LoadFromStream(stream);
      ImagenBMP.Height:= ImagenJPG.Height;
      ImagenBMP.Width:= ImagenJPG.Width;
      ImagenBMP.Assign(ImagenJPG);
    end;
    if DataModule1.EDBQuery1.FieldByName('TIPOI').AsString='B' then begin
      Stream := DataModule1.EDBQuery1.CreateBlobStream(DataModule1.EDBQuery1.FieldByName('IMAGEN') as TBlobField, bmRead);
      ImagenBMP.LoadFromStream(stream);
    end;
    StretchedBMP.Canvas.StretchDraw(Rect(0, 0, StretchedBMP.Width-1, StretchedBMP.Height-1), ImagenBMP);
    ImageList1.Add(StretchedBMP,nil);
    ListView1.Items.Add;
    ListView1.Items[ListView1.Items.Count-1].Caption := 'Imagen';
    ListView1.Items[ListView1.Items.Count-1].ImageIndex := N;
    ImagenBMP.Free;
    ImagenJPG.Free;
    DataModule1.EDBQuery1.Next;
    Inc(N);
  end;


end;

Gracias de nuevo y un saludo
__________________
Be water my friend.
Responder Con Cita