Ver Mensaje Individual
  #1  
Antiguo 06-05-2014
mordaz mordaz is offline
Miembro
 
Registrado: mar 2008
Posts: 32
Reputación: 0
mordaz Va por buen camino
Guardar OleVariant en Blob de Intarbase

Que tal a todos,

Les comento que necesito guardar el contenido de una variable OleVariant en un campo Blob de una tabla de Interbase. Esta variable OleVariant contiene la información de una huella dactilar capturada con un dispositivo DigitalPersona.

Buscando en los foros encontré una solución de como guardar una Imagen en un campo similar aportado por nuestro amigo Ecfisa. Lo que encontre es lo siguiente:

Código:
...
#include <jpeg.hpp>

// TImage a campo BLOB
void __fastcall ImageToField(TImage *aImage, TField *aField)
{
  if (aImage->Picture->Graphic->ClassNameIs("TJPEGImage")) {
    aField->DataSet->Edit();
    aField->Assign(aImage->Picture->Graphic);
  }
}

// Campo BLOB a TImage
void __fastcall FieldToImage(TField *aField, TImage *aImage)
{
  TJPEGImage *JPG = new TJPEGImage;

  if (aField->ClassNameIs("TBlobField")) {
    JPG->Assign(aField);
    aImage->Picture = NULL;
    aImage->Picture->Assign(JPG);
  }
  delete JPG;
}
Entiendo que la variable debe ser transportada a su formato en bits
Código:
aImage->Picture->Graphic
y despues al recuperarla regresarla a su formato original
Código:
aImage->Picture->Assign(JPG)
¿Alguien tiene alguna idea de como hacer esto para los tipos OleVariant?
Responder Con Cita