Aller au contenu principal
Version: Next

Blob

La classe Blob vous permet de créer et de manipuler des objets blob (4D.Blob).

Sommaire

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

crée un nouvel objet 4D.Blob encapsulant optionnellement une copie des données d'un autre blob (blob scalaire ou 4D.Blob)
.size : Real
retourne la taille d'un 4D.Blob, exprimée en octets.
.slice() : 4D.Blob
.slice( start : Real ) : 4D.Blob
.slice( start : Real; end : Real ) : 4D.Blob

crée et retourne un 4D.Blob qui référence les données d'un sous-ensemble du blob sur lequel il est appelé. Le blob d'origine n'est pas modifié.

4D.Blob.new()

Historique
ReleaseModifications
19 R2Ajout

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

ParamètresTypeDescription
blobBlob ou 4D.Blob->Blob pour copie
Résultat4D.Blob<-Nouveau 4D.Blob

Description

4D.Blob.new crée un nouvel objet 4D.Blob encapsulant optionnellement une copie des données d'un autre blob (blob scalaire ou 4D.Blob).

Si le paramètre blob est omis, la fonction retourne un 4D.Blob vide.

.size

.size : Real

Description

La propriété .size retourne la taille d'un 4D.Blob, exprimée en octets.

.slice()

Historique
ReleaseModifications
19 R2Ajout

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

ParamètresTypeDescription
startReal->indice du premier octet à inclure dans le nouveau 4D.Blob.
endReal->indice du premier octet qui ne sera pas inclus dans le nouveau 4D.Blob
Résultat4D.Blob<-Nouveau 4D.Blob

Description

.slice() crée et retourne un 4D.Blob qui référence les données d'un sous-ensemble du blob sur lequel il est appelé. Le blob d'origine n'est pas modifié.

Le paramètre start est un indice dans le blob, indiquant le premier octet à inclure dans le nouveau 4D.Blob. Si vous indiquez une valeur négative, 4D la traite comme un décalage de la fin du blob vers le début. Par exemple, -10 correspondrait à l'avant-dernier octet du blob. La valeur par défaut est 0. Si vous spécifiez une valeur pour start qui est supérieure à la taille du blob source, la taille du 4D.Blob retourné est 0, et il ne contient aucune donnée.

Le paramètre end est un indice dans le blob indiquant le premier octet qui ne sera pas inclus dans le nouveau 4D.Blob (c'est-à-dire que l'octet situé exactement à cet indice ne sera pas inclus). Si vous indiquez une valeur négative, 4D la traite comme un décalage de la fin du blob vers le début. Par exemple, -10 correspondrait à l'avant-dernier octet du blob. La valeur par défaut est la taille du blob.

Exemple

var $myBlob : 4D.Blob

// Stocker du texte dans 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 contient "Hello, World!"

// Créer un nouveau 4D.Blob à partir de $myBlob
$myNewBlob:=$myBlob.slice(0; 5)

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