BLOB vers texte

4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant

version 6.0


BLOB vers texte (blob; formatTexte{; offset{; longueurTexte}}) Chaîne

ParamètreTypeDescription
blobBLOBBLOB duquel extraire la valeur de type Texte
formatTexteNumérique0  Chaîne en C
1  Chaîne pascal
2  Texte avec longueur
3  Texte sans longueur
offsetVariableOffset (en octets) dans le BLOB
Nouvel offset après la lecture
longueurTexteNumériqueNombre de caractères à lire
RésultatChaîneValeur de type Texte

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 de la valeur de type Texte à écrire. Vous passez une des constantes fournies par 4e Dimension :

ConstanteTypeValeur
Chaîne en CEntier long0
Chaîne pascalEntier long1
Texte avec longueurEntier long2
Texte sans longueurEntier long3

Le tableau suivant décrit chacun de ces formats :

Format texteDescription & Exemples
Chaîne en C Le texte se termine par un caractère NULL (code ASCII $00).
"" $00
"Hello World!" $48 65 6C 6C 6F 20 57 6F 72 6C 64 21 00
Chaîne pascalLe texte est précédé d'un octet de longueur.
"" $00
"Hello World!" $0C 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
Texte avec longueurLe texte est précédé de 2 octets de longueur.
"" $00 00
"Hello World!" $00 0C 48 65 6C 6C 6F 20 57 6F 72 6C 64 21
Texte sans longueurLe texte est composé seulement de ses caractères.
"" Pas de valeurs
"Hello World!" $48 65 6C 6C 6F 20 57 6F 72 6C 64 21

ATTENTION : Le nombre de caractères à lire est déterminé par le paramètre formatTexte, SAUF dans le cas du dernier format, Texte sans longueur, pour lequel 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.

Notez bien que les variables de type Texte peuvent contenir jusqu'à 32 000 caractères et que les variables de type Alpha peuvent contenir un nombre de caractères fixe, défini lors de leur déclaration (255 caractères maximum). Si vous tentez de lire plus de valeurs que la variable ne peut en contenir, 4D tronque le résultat de la commande.

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.

Exemple

L'exemple suivant lit une ressource type Mac OS imaginaire dont le format interne est identique à celui des ressources 'STR#' :

   LIRE RESSOURCE ("ABCD";viRéfRes;vxDonnéesRes;viMonFichierRes)
   vlTaille:=Taille BLOB(vxDonnéesRes)
   Si (vlTaille>0)
         ` La ressource commence par un entier sur 2 octets qui spécifie le nombre de chaînes
      vlOffset:=0
      viNbSaisies:=BLOB vers entier(vxDonnéesRes;Ordre octets Macintosh;vlOffset)
         ` Ensuite la ressource contient des chaînes Pascal concaténées sans octet de réalignement
      Boucle (viSaisie;1;viNbSaisies)
         Si (vlOffset<vlTaille)
            vaSaisie:=BLOB vers texte(vxDonnéesRes;Chaîne pascal;vlOffset)
               ` Faire quelque chose avec vaSaisie
         Sinon
               ` Les données de la ressource sont invalides, sortir de la boucle
            viSaisie:=viNbSaisies+1
         Fin de si
      Fin de boucle
   Fin de si

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.


4D - Documentation   Français   English   German   4e Dimension, Commandes par thèmes   4e Dimension, Liste alphabétique des commandes   4e Dimension, Constantes par thèmes   Retour   Précédent   Suivant