Aller au contenu principal
Version: 20 R7 BETA

BLOB to text

BLOB to text ( blob ; formatTexte {; offset {; longueurTexte}} ) -> Résultat

ParamètreTypeDescription
blobBlobBLOB duquel extraire le texte
formatTexteIntegerFormat et jeu de caractères du texte
offsetVariableOffset (en octets) dans le BLOB
Nouvel offset après la lecture
longueurTexteIntegerNombre de caractères à lire
RésultatTextTexte extrait

Description

La fonction BLOB to text retourne une valeur de type Texte lue dans le BLOB blob.

Le paramètre formatTexte définit le format interne et le jeu de caractères de la valeur de type Texte à lire. Dans les bases de données créées à compter de la version 11, 4D utilise par défaut le jeu de caractères Unicode (UTF8) pour la gestion des textes. Par compatibilité, cette commande permet de “forcer” l'utilisation du jeu de caractères Mac Roman (jeu de caractères utilisé dans les versions précédentes de 4D). Le choix du jeu de caractères s’effectue via le paramètre formatTexte. Pour cela, passez dans formatTexte une des constantes suivantes, placées dans le thème BLOB :

ConstanteTypeValeur
Mac C stringEntier long0
Mac Pascal stringEntier long1
Mac text with lengthEntier long2
Mac text without lengthEntier long3
UTF8 C stringEntier long4
UTF8 text with lengthEntier long5
UTF8 text without lengthEntier long6

Notes

  • Les constantes “UTF8” sont utilisables uniquement lorsque l’application fonctionne en mode Unicode.
  • Les constantes “Mac” ne permettent pas de traiter des textes de plus de 32 ko.
  • Si vous souhaitez manipuler des jeux de caractères autres que UTF8, utilisez la commande Convert to text. Pour plus d'informations sur ces constantes et les formats qu'elles représentent, reportez-vous à la description de la commande TEXT TO BLOB.

ATTENTION : Le nombre de caractères à lire est déterminé par le paramètre formatTexte, SAUF dans le cas des formats Mac Text without length et UTF8 Text without length pour lesquels vous devez spécifier le nombre de caractères à lire dans le paramètre longueurTexte. Pour les autres formats, longueurTexte est ignoré et vous pouvez l'omettre.

Si vous ne passez pas de variable dans le paramètre optionnel offset, les premiers octets de BLOB sont lus, en fonction de la valeur passée dans formatTexte. Notez que vous devez passer une variable dans le paramètre offset lorsque vous lisez une valeur de type Texte sans longueur.

Si vous passez une variable dans le paramètre optionnel offset, la valeur de type Texte est lue depuis l'offset exprimé en octets (à partir de zéro) du BLOB.

Note : Vous devez passer un offset compris entre 0 (zéro) et la taille du BLOB moins la taille du texte à extraire. Sinon, le résultat de la fonction ne sera pas exploitable.

Après l'exécution de la commande, la variable offset est incrémentée du nombre d'octets qui a été lu. Vous pouvez donc réutiliser la même variable avec une autre commande de lecture de BLOBs pour lire une autre valeur placée juste après celle que vous venez de lire.

Voir aussi

BLOB to integer
BLOB to longint
BLOB to real
Convert to text
INTEGER TO BLOB
LONGINT TO BLOB
REAL TO BLOB
TEXT TO BLOB