BLOBDIRECTIMPORT()
 Importa el contenido de un fichero en un fichero BLOB y devuelve un puntero
 a los datos
------------------------------------------------------------------------------
 Sintaxis

     BLOBDIRECTIMPORT(<nAntPuntero>, <cFichFuente>)
        --> nNuevoPuntero

 Argumentos

     <nAntPuntero> es un puntero a datos BLOB que se liberar  después de
     la importación. El puntero se puede obtener utilizando
     BLOBDIRECTPUT(), BLOBDIRECTIMPORT() o
     DBFIELDINFO(DBS_BLOB_POINTER,
     <nPosCampo>). Si contiene un valor de 0 se desactiva la liberación de
     los datos.

     ¡Importante! Si se especifica, BLOBDIRECTIMPORT() libera el espacio
     asociado con <nAntPuntero> y lo reutiliza para almacenar otros datos.
     Por consiguiente, es ilegal utilizar <nAntPuntero> con cualquier
     función BLOB después de haberlo usado como argumento de esta función.
     Utilice el valor devuelto por la función para acceder a los datos
     importados.

     <cFichFuente> es el nombre del fichero del que se leen los datos
     BLOB. Opcionalmente, puede ir acompañado de la unidad, el directorio y
     la extensión. Consulte SETDEFAULT() y SETPATH() si desea información
     sobre las reglas de búsqueda y creación de ficheros. No se supone
     ninguna extensión por defecto.

     La función intenta abrir <cFichFuente> en modo compartido. Si el
     fichero no existe, se produce un error durante la ejecución. Si el
     fichero se abre con éxito, se lleva a cabo la operación de importación.
     Si se deniega el acceso debido, por ejemplo, a que otro proceso est
     utilizando el fichero en modo exclusivo, NETERR() pasa a tener el valor
     verdadero (.T.).

     Nota: La única restricción que existe para el tamaño de
     <cFichFuente> es que el espacio libre del disco sea suficiente para
     realizar la copia.

Devuelve

     BLOBDIRECTIMPORT() devuelve un puntero numérico a la imagen BLOB
     almacenada en <cFichFuente>.

 Descripción

     BLOBDIRECTIMPORT() proporciona un mecanismo para copiar en un fichero
     BLOB el contenido de otro fichero. Por defecto, esta función opera con
     el  rea de trabajo seleccionada. Si desea utilizarla en otra  rea de
     trabajo, debe especificarla con una expresión de alias.

     BLOBDIRECTIMPORT() se utiliza junto con BLOBDIRECTEXPORT() para
     transferir datos entre ficheros externos y ficheros BLOB. Es posible
     utilizar BLOBDIRECTIMPORT() con una gran variedad de tipos de fichero,
     incluidos ficheros de im genes gr ficas, ficheros de procesadores de
     texto y ficheros de fuentes de impresora. Estas dos funciones son muy
     adecuadas para la creación de bases de datos de documentos, gr ficos,
     sonidos, etc.

     ¡Importante! El puntero nNuevoPuntero, el valor devuelto, es el
     único modo de acceder, en el fichero BLOB, a los datos importados por
     la función BLOBDIRECTIMPORT(). Es tarea del programador almacenar de
     forma permanente esta referencia (consulte el ejemplo siguiente).

     Nota: DBFIELDINFO(DBS_BLOB_TYPE, <nPosCampo>) devuelve "C" (cadena
     de caracteres) para los campos memo creados mediante
     BLOBDIRECTIMPORT().

 Ejemplos

      Este ejemplo importa un fichero de mapa de bits (.bmp) y
        almacena su contenido en una matriz de datos de arranque. Los datos,
        almacenados en el  rea raíz del fichero BLOB, se visualizar n en
        pantalla en el momento del arranque:

        FUNCTION GUARDARIMAGEN()
           LOCAL cFichBMP
           LOCAL aConfigs

           cFichBMP := "Logo.bmp"
           aConfigs := {}

           // Los par metros de arranque se almacenan en la
           // base de datos Cliente
           USE Cliente NEW VIA "DBFMEMO"

           // Se obtiene la vía de acceso por defecto
           AADD(aConfigs, STARTPATHS())

           // Se obtiene el color por defecto
           AADD(aConfigs,DEFAULTCOLORS())

           // Se obtiene el logotipo de la compañía para
           // visualizarlo en el momento del arranque.
           // Al ser la primera vez que se importa, no se
           // debe liberar nada.
           nPuntero := BLOBDIRECTIMPORT(0, cFichBMP)
           AADD(aConfigs, nPuntero)

           // Se almacenan los par metros en el  rea raíz del
           // fichero .fpt

           BLOBROOTPUT(aConfigs)

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: BLOBDIRECTEXP() BLOBIMPORT()