mordaz
06-05-2014, 21:52:31
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:
...
#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 aImage->Picture->Graphic y despues al recuperarla regresarla a su formato original aImage->Picture->Assign(JPG)
¿Alguien tiene alguna idea de como hacer esto para los tipos OleVariant?
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:
...
#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 aImage->Picture->Graphic y despues al recuperarla regresarla a su formato original aImage->Picture->Assign(JPG)
¿Alguien tiene alguna idea de como hacer esto para los tipos OleVariant?