version 11 (Modifiée)
BLOB vers texte (blob; formatTexte{; offset{; longueurTexte}}) Chaîne
Paramètre | Type | Description | |
blob | BLOB | BLOB duquel extraire le texte | |
formatTexte | Numérique | Format et jeu de caractères du texte | |
offset | Variable | Offset (en octets) dans le BLOB | |
Nouvel offset après la lecture | |||
longueurTexte | Numérique | Nombre de caractères à lire | |
Résultat | Chaîne | Texte extrait |
Description
La fonction BLOB vers texte 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" :
Constante | Type | Valeur |
Mac Chaîne en C | Entier long | 0 |
Mac Chaîne pascal | Entier long | 1 |
Mac Texte avec longueur | Entier long | 2 |
Mac Texte sans longueur | Entier long | 3 |
UTF8 Chaîne en C | Entier long | 4 |
UTF8 Texte avec longueur | Entier long | 5 |
UTF8 Texte sans longueur | Entier long | 6 |
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 Convertir vers texte.
Pour plus d'informations sur ces constantes et les formats qu'elles représentent, reportez-vous à la description de la commande TEXTE VERS BLOB.
ATTENTION : Le nombre de caractères à lire est déterminé par le paramètre formatTexte, SAUF dans le cas des formats Mac Texte sans longueur et UTF8 Texte sans longueur 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.
Référence
BLOB vers entier, BLOB vers entier long, BLOB vers reel, ENTIER LONG VERS BLOB, ENTIER VERS BLOB, REEL VERS BLOB, TEXTE VERS BLOB.