Saltar al contenido principal
Versión: v20 R4 BETA

Blob

La clase Blob permite crear y manipular los blob objects (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 encapsulando opcionalmente 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()

Histórico
VersiónModificaciones
v19 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 encapsulando opcionalmente 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()

Histórico
VersiónModificaciones
v19 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

// Store text in a 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 contains "Hello, World!"

// Create a new 4D.Blob from $myBlob
$myNewBlob:=$myBlob.slice(0; 5)

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

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

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