Saltar al contenido principal
Versión: 20 R5

Blob

La clase Blob permite crear y manipular objetos blob (4D.Blob).

Resumen

4D.Blob.new() : 4D.Blob
4D.Blob.new( blobScal : Blob ) : 4D.Blob
4D.Blob.new( blobObj : 4D.Blob ) : 4D.Blob

crea un nuevo objeto 4D.Blob opcionalmente encapsulando una copia de los datos de otro blob (blob escalar o 4D.Blob)
.size : Real
devuelve el tamaño de un 4D.Blob, expresado en bytes.
.slice() : 4D.Blob
.slice( start : Real ) : 4D.Blob
.slice( start : Real; end : Real ) : 4D.Blob

crea y devuelve un 4D.Blob que hace referencia a los datos de un subconjunto del blob en el que se llama. El blob original no se altera.

4D.Blob.new()

Historia
LanzamientoModificaciones
19 R2Añadidos

4D.Blob.new() : 4D.Blob
4D.Blob.new( blobScal : Blob ) : 4D.Blob
4D.Blob.new( blobObj : 4D.Blob ) : 4D.Blob

ParámetrosTipoDescripción
blobBlob o 4D.Blob->Blob a copiar
Result4D.Blob<-Nuevo 4D.Blob

Descripción

4D.Blob.new crea un nuevo objeto 4D.Blob opcionalmente encapsulando una copia de los datos de otro blob (blob escalar o 4D.Blob).

Si el parámetro blob se omite, el método devuelve un 4D.Blob vacío.

.size

.size : Real

Descripción

La propiedad .size devuelve el tamaño de un 4D.Blob, expresado en bytes.

.slice()

Historia
LanzamientoModificaciones
19 R2Añadidos

.slice() : 4D.Blob
.slice( start : Real ) : 4D.Blob
.slice( start : Real; end : Real ) : 4D.Blob

ParámetrosTipoDescripción
startReal->índice del primer byte a incluir en el nuevo 4D.Blob.
endReal->índice del primer byte que no se incluirá en el nuevo 4D.Blob
Result4D.Blob<-Nuevo 4D.Blob

Descripción

.slice() crea y devuelve un 4D.Blob que hace referencia a los datos de un subconjunto del blob en el que se llama. El blob original no se altera.

El parámetro start es un índice en el blob que indica el primer byte a incluir en el nuevo 4D.Blob. Si indica un valor negativo, 4D lo trata como un desplazamiento desde el final del blob hacia el inicio. Por ejemplo, -10 sería el décimo desde el último byte del blob. El valor por defecto es 0. Si indica un valor de inicio mayor al tamaño del blob fuente, el tamaño del 4D.Blob devuelto es 0, y no contiene datos.

El parámetro end es un índice en el blob que indica el primer byte que no se incluirá en el nuevo 4D.Blob (es decir, el byte situado exactamente en este índice no se incluye). Si indica un valor negativo, 4D lo trata como un desplazamiento desde el final del blob hacia el inicio. Por ejemplo, -10 sería el décimo desde el último byte del blob. El valor por defecto es el tamaño del blob.

Ejemplo

var $myBlob : 4D.Blob

// Almacenar texto en un 4D.Blob
CONVERT FROM TEXT("Hello, World!"; "UTF-8"; $myBlob)
$is4DBlob:=OB Instance of($myBlob; 4D.Blob); //True

$myString:=Convert to text($myBlob; "UTF-8")
// $myString contiene "Hello, World!"

// Crear un nuevo 4D.Blob a partir de $myBlob
$myNewBlob:=$myBlob.slice(0; 5)

$myString:=Convert to text($myNewBlob; "UTF-8")
// $myString contiene "Hello"