version 6.0
BLOB vers entier (blob; ordreOctet{; offset}) Numérique
Paramètre | Type | Description | |
blob | BLOB | BLOB duquel obtenir la valeur entière | |
ordreOctet | Numérique | 0 Ordre d'octets mode natif | |
1 Ordre d'octets Macintosh | |||
2 Ordre d'octets PC | |||
offset | Variable | Offset (en octets) dans le BLOB | |
Nouvel offset après la lecture | |||
Résultat | Numérique | Valeur entière (2 octets) |
Description
BLOB vers entier retourne une valeur entière (2 octets) lue dans le BLOB blob.
Le paramètre ordreOctet fixe l'ordre des octets ("byte ordering") de la valeur entière à lire. Vous pouvez passer une des constantes fournies par 4D :
Constante | Type | Valeur |
Ordre octets natif | Entier long | 0 |
Ordre octets Macintosh | Entier long | 1 |
Ordre octets PC | Entier long | 2 |
Note sur l'indépendance de plate-forme : Si vous échangez des BLOBs entre les plates-formes Macintosh et PC, il vous incombe de traiter les conversions d'octets ("byte swapping") lorsque vous utilisez cette fonction.
Si vous ne passez pas de variable dans le paramètre optionnel offset, les deux premiers octets de BLOB sont lus.
Si vous passez une variable dans le paramètre optionnel offset, la valeur entière sur 2 octets 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 2. Sinon, une erreur -111 est générée.
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.
Exemple
L'exemple suivant lit 20 valeurs entières d'un BLOB à partir de l'offset 0x200 :
$vlOffset:=0x200 Boucle ($viBoucle;0;19) $viValeur:=BLOB vers entier(vxUnBlob;Ordre octets PC;$vlOffset) ` Faire quelque chose avec $viValeur Fin de boucle
Référence
BLOB vers entier long, BLOB vers reel, BLOB vers texte, ENTIER LONG VERS BLOB, ENTIER VERS BLOB, REEL VERS BLOB, TEXTE VERS BLOB.