4D v16.3

INTEGER TO BLOB

Accueil

 
4D v16.3
INTEGER TO BLOB

INTEGER TO BLOB 


 

INTEGER TO BLOB ( entier ; blob ; ordreOctet {; offset | *} )  
Paramètre Type   Description
entier  Entier long in Valeur entière à écrire dans le BLOB
blob  BLOB in BLOB devant recevoir la valeur entière
ordreOctet  Entier long in 0=Ordre des octets en mode natif, 1=Ordre des octets Macintosh, 2=Ordre des octets PC
offset | *  Variable, Opérateur in Offset (en octets) de l'entier dans le BLOB ou * pour ajouter la valeur à la fin du BLOB
in Nouvel offset après écriture si * omis

INTEGER TO BLOB écrit la valeur entière (2 octets) entier dans le BLOB blob.

Le paramètre ordreOctet fixe l'ordre des octets ("byte ordering") de la valeur entière à écrire. Vous pouvez passer une des constantes fournies par 4D :

Constante Type Valeur
Macintosh byte ordering Entier long 1
Native byte ordering Entier long 0
PC byte ordering 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 commande.

Si vous passez le paramètre optionnel *, la valeur entière sur 2 octets est ajoutée à la fin du BLOB et sa taille 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 entière 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, la valeur entière est écrite à partir de l'offset offset, exprimé en octets (à partir de zéro), du BLOB. Quel que soit l'endroit où vous placez l'entier, la taille du BLOB sera augmentée si nécessaire en fonction de l'emplacement que vous avez défini (plus jusqu'à 2 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.

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

 INTEGER TO BLOB(0x0206;vxBlob;Native byte ordering)
  • La taille de vxBlob est 2 octets
  • Sur plate-forme PowerPC vxBLOB{0} = $02 et vxBLOB{1} = $06
  • Sur plate-forme Intel vxBLOB{0} = $06 et vxBLOB{1} = $02

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

 INTEGER TO BLOB(0x0206;vxBlob;Macintosh byte ordering)
  • La taille de vxBlob est 2 octets
  • Sur toutes les plates-formes vxBLOB{0} = $02 et vxBLOB{1} = $06

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

 INTEGER TO BLOB(0x0206;vxBlob;PC byte ordering)
  • La taille de vxBlob est 2 octets
  • Sur toutes les plates-formes vxBLOB{0} = $06 et vxBLOB{1} = $02

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

 SET BLOB SIZE(vxBlob;100)
 INTEGER TO BLOB(0x0206;vxBlob;PC byte ordering;*)
  • La taille de vxBlob est 102 octets
  • Sur toutes les plates-formes vxBLOB{100} = $06 et vxBLOB{101} = $02
  • Les autres octets du BLOB restent inchangés

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

 SET BLOB SIZE(vxBlob;100)
 vlOffset:=50
 INTEGER TO BLOB(518;vxBlob;Macintosh byte ordering;vlOffset)
  • La taille de vxBlob est 100 octets
  • Sur toutes les plates-formes vxBLOB{50} = $02 et vxBLOB{51} = $06
  • Les autres octets du BLOB restent inchangés
  • La variable vlOffset est incrémentée de 2 (et est alors égale à 52)



Voir aussi  

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

 
PROPRIÉTÉS 

Produit : 4D
Thème : BLOB
Numéro : 548

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v6

 
MOTS-CLÉS 

Entier

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)