by surGom » Sat Aug 27, 2022 12:33 pm
Hola Antonio no sé si lo que te envío te servirá o no pero viene de la ayuda en clipper. Si no sirve para nada disculpen el tiempo. Yo no lo usé nunca
BLOBDIRECTEXPORT()
Exporta el contenido de un puntero a un objeto binario grande (BLOB) a un
fichero
------------------------------------------------------------------------------
Nota: Un fichero BLOB (.dbv o .fpt) se utiliza para almacenar la
información de un campo memo. Es una alternativa al mecanismo est ndar
de ficheros .dbt admitido por algunos RDD. Los ficheros BLOB son m s
potentes y eficientes a la hora de almacenar y recuperar grandes
cantidades de datos que los ficheros .dbt. En CA-Clipper se incluyen el
controlador DBFCDX, que utiliza por defecto ficheros BLOB, y el
controlador DBFMEMO, que se puede utilizar como un RDD denominado
supercontrolador (consulte MEMOSETSUPER()). Si desea m s información
sobre cómo usar este último controlador, consulte Características de
los RDD en el capítulo "Arquitectura de los Controladores de Base de
Datos Sustituibles" de la Guía de Controladores.
Sintaxis
BLOBDIRECTEXPORT (<nPuntero>, <cFicheroDestino>,
[<nModo>]) --> lExito
Argumentos
<nPuntero> es un puntero a datos de tipo BLOB. Este puntero se
puede obtener mediante BLOBDIRECTPUT(), BLOBDIRECTEXPORT() o
DBFIELDINFO(DBS_BLOB_POINTER, <nPosCampo>).
<cFicheroDestino> es el nombre del fichero en el que se escribir n
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
asume ninguna extensión por defecto.
Si <cFicheroDestino> no existe, se crea. Si existe, se intenta abrir el
fichero en modo exclusivo y, si lo consigue, se exportan los datos al
fichero sin aviso ni error. Si se deniega el acceso debido, por
ejemplo, a que otro proceso est utilizando el fichero, NETERR() pasa
a tener el valor verdadero (.T.).
<nModo> es una constante que define el modo de copia, de acuerdo a
los valores de la siguiente tabla:
Constantes de modos de copia
------------------------------------------------------------------------
Constante Descripción
------------------------------------------------------------------------
BLOB_EXPORT_APPEND Añade datos al fichero
BLOB_EXPORT_OVERWRITE Sobreescribe los datos del fichero
(valor por defecto)
------------------------------------------------------------------------
Devuelve
BLOBDIRECTEXPORT() devuelve verdadero (.T.) si la operación se ha
realizado con éxito; en caso contrario, devuelve falso (.F.).
Descripción
Por defecto, BLOBDIRECTEXPORT() opera en el área de trabajo
seleccionada. Si desea utilizarla en otra área de trabajo, debe
especificarla con una expresión de alias.
Ejemplos
C Este ejemplo extrae una matriz de punteros del área raíz del
fichero BLOB y utiliza uno de los punteros para exportar una imagen
a un fichero:
FUNCTION EXPORTARIMAGEN()
LOCAL cFich
LOCAL nPuntero
LOCAL aBLOBPtrs
cFich := "Imagen.gif"
// Base de datos Cliente con un campo denominado Imag que
// contiene la imagen del cliente
USE Cliente NEW VIA "DBFCDX"
// Se supone que el programa ya ha almacenado la matriz
// de punteros BLOB directos en el área raíz del fichero.
// La imagen que se desea recuperar es el segundo
// elemento de la matriz.
aBLOBPtrs := BLOBROOTGET()
nPuntero := aBLOBPtrs[2]
// Exporta la imagen apuntada por nPuntero hacia un fichero
IF !BLOBDIRECTEXPORT (nPuntero, cFich, ;
BLOB_EXPORT_OVERWRITE)
Alert ("Fallo al exportar imagen" + cFich)
ELSE
// Código para visualizar la imagen
ENDIF
Ficheros La biblioteca asociada es CLIPPER.LIB.
See Also:
BLOBDIRECTIMP()BLOBDIRECTIMP()
BLOBEXPORT()BLOBEXPORT()
Si es una pérdida de tiempo disculpen
Luis