Como almacenar imágenes en Campos de Tipo GRAPHICS en base de datos Paradox.

 

Para cargar una imagen en el campo ‘Graphics’ desde un fichero puedes utilizar el método ‘LoadFromFile()’ del propio campo. El siguiente ejemplo está adaptado de la ayuda de C++Builder (busca en ella « picture, loading from a file »):

void __fastcall TForm1::Open1Click(TObject *Sender)
{
// Mostrar el diálogo de apertura de ficheros gráficos
if (OpenPictureDialog1->Execute())
{
// Obtener el nombre del fichero
System::AnsiString CurrentFile = OpenPictureDialog1->FileName;

 

// Obtener la extensión del fichero
System::AnsiString sExt = Sysutils::ExtractFileExt(CurrentFile);

// Es necesario comprobar que sea un bitmap de Windows o dará
// error de carga ya que el TDBImage sólo admite el formato BMP
if (0 == sExt.AnsiCompareIC(« .BMP »))
{
// Hacer que el campo ‘Graphics’ cargue el fichero
campo_grafico->Picture->LoadFromFile(CurrentFile);
}
}
}

No hay que hacer nada más. Una vez cargado el fichero en el campo (que he denominado en el ejemplo ‘campo_grafico’) el propio TDBImage se encargará de mostrarlo en pantalla. Para más información, busca en la ayuda « TDBImage » y/o « TPicture ».

Entre los ejemplos que acompañan al compilador, tienes uno denominado « fishfact.bpr » que puede darte alguna idea sobre cómo se utiliza el componente TDBImage.