Ver Mensaje Individual
  #6  
Antiguo 05-11-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
Realmente es sencillo de realizar, el viernes pasado estove trabajando en algo parecido, porque las imágenes BMP me parecen un desperdicio de espacio, esto fue a lo que llegue.

para guardar las imágenes utiliza es código:
Código Delphi [-]
var
fs : TFileStream;
blob : TStream;
begin
  If OpenPictureDialog1.Execute Then
  Begin

  try
  If Not (TablaImages.State = dsEdit) or Not (TablaImages.State = dsInsert) Then
      TablaImages.Edit;
      
  blob := TablaImages.CreateBlobStream(TablaImages.FieldByName('CAMPO_IMAGEN'),
  bmWrite);
  
  blob.Seek(0, soFromBeginning);

  fs := TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead or
    fmShareDenyWrite);
    try
    blob.CopyFrom(fs, fs.Size)
    finally
    fs.Free
    end;
  finally
  blob.Free
  end;

Ahora, el componente TDBImage no puede visualsiliar imágenes que no sean BMP, así que como siempre, utilizaremos decendientes para la tarea. El componente que utilizo se llama TEDBImage, lo puedes encontrar en Torry.net.

Saludos.

P.D: Con este componente tambien visualizar varios tipos de imágen incluyendo PNG, WMF, ICO y muchos más.
Estoy casi seguro que con este ejemplo puedes almacenar imágenes en cualquier tipo de DB, siempre y cuando utilizes controles decendientes de TDataset.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita