REEL 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

version 6.0


REEL VERS BLOB (réel; blob; formatRéel{; offset | *})

ParamètreTypeDescription
réelNumériqueValeur de type Réel à écrire dans le BLOB
blobBLOBBLOB devant recevoir la valeur Réel
formatRéelNumérique0  Format réel natif
1  Format réel étendu
2   Format réel double Macintosh
3   Format réel double Windows
offset | *Variable | *Offset (en octets) dans le BLOB ou
* pour ajouter la valeur à la fin du BLOB
Nouvel offset après l'écriture si * omis

Description

La commande REEL VERS BLOB écrit la valeur de type Réel (ou Numérique) réel dans le BLOB blob.

Le paramètre formatRéel fixe le format interne et l'ordre des octets ("byte ordering") de la valeur de type Réel à écrire. Vous passez une des constantes fournies par 4e Dimension :

ConstanteTypeValeur
Format réel natifEntier long0
Format réel étenduEntier long1
Format réel double MacintoshEntier long2
Format réel double PCEntier long3

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 passez le paramètre optionnel *, la valeur réelle est ajoutée à la fin du BLOB et la taille de blob est modifiée en conséquence. Ainsi, à l'aide du paramètre optionnel *, vous pouvez stocker les unes derrière les autres autant de valeurs de type Entier, Entier long, Numérique ou Texte (référez-vous aux autres commandes sur les BLOBs) que vous voulez dans un BLOB, la seule limite étant celle de la mémoire disponible.

Si vous ne passez pas le paramètre optionnel * ni de variable dans le paramètre offset, la valeur réelle est stockée au début de blob en remplaçant son contenu précédent, et la taille du BLOB est modifiée en conséquence.

Si vous passez une variable dans le paramètre offset, le réel est écrit à partir de l'offset offset, exprimé en octets (à partir de zéro), du BLOB. Quel que soit l'endroit où vous placez la valeur, la taille du BLOB sera augmentée si nécessaire en fonction de l'emplacement que vous avez défini (plus jusqu'à 8 ou 10 octets le cas échéant). Les octets redéfinis (autres que ceux que vous venez d'écrire) sont initialisés à la valeur zéro.

Après l'exécution de la commande, la variable du paramètre offset est incrémentée du nombre d'octets ayant été écrits. Vous pouvez par conséquent réutiliser la même variable avec une autre commande d'écriture de BLOB afin de placer une autre valeur juste après celle que vous venez d'écrire.

Exemples

(1) Après l'exécution de ce code :

   C_REEL (vrValeur)
   vrValeur := ...
   REEL VERS BLOB (vrValeur;vxBlob;Format réel natif)

Sur toutes les plates-formes, la taille de vxBlob est 8 octets

(2) Après l'exécution de ce code :

   C_REEL (vrValeur)
   vrValeur := ...
   REEL VERS BLOB (vrValeur;vxBlob;Format réel étendu)

Sur toutes les plates-formes, la taille de vxBlob est 10 octets

(3) Après l'exécution de ce code :

   C_REEL (vrValeur)
   vrValeur := ...
   REEL VERS BLOB (vrValeur;vxBlob;Format réel double Macintosh)  ` ou Format réel double PC

Sur toutes les plates-formes, la taille de vxBlob est 8 octets

(4) Après l'exécution de ce code :

   FIXER TAILLE BLOB (vxBlob;100)
   C_REEL (vrValeur)
   vrValeur := ...
   REEL VERS BLOB (vrValeur;vxBlob;Format réel double PC)  ` ou Format réel double Macintosh

Sur toutes les plates-formes, la taille de vxBlob est 8 octets

(5) Après l'exécution de ce code :

   FIXER TAILLE BLOB (vxBlob;100)
   REEL VERS BLOB (vrValeur;vxBlob;Format réel étendu;*)

Sur toutes les plates-formes, la taille de vxBlob est 110 octets

Sur toutes les plates-formes, la valeur numérique est stockée dans les octets #100 à #109

Les autres octets du BLOB restent inchangés

(6) Après l'exécution de ce code :

   FIXER TAILLE BLOB (vxBlob;100)
   C_REEL (vrValeur)
   vrValeur := ...
   vlOffset:=50
   REEL VERS BLOB (vrValeur;vxBlob;Format réel double PC;vlOffset)  ` ou Format réel double Macintosh 

Sur toutes les plates-formes, la taille de vxBlob est 100 octets

Sur toutes les plates-formes, la valeur numérique est stockée dans les octets #50 à #57

Les autres octets du BLOB restent inchangés

La variable vlOffset est incrémentée de 8 (et est alors égale à 58)

Référence

BLOB vers entier, BLOB vers entier long, BLOB vers reel, BLOB vers texte, ENTIER LONG VERS BLOB, ENTIER 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