| 4D v18BLOB to longint | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 BLOB to longint 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BLOB to longint ( blob ; ordreOctet {; offset} ) -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| blob | BLOB |   | BLOB duquel extraire la valeur de type Entier long | |||||
| ordreOctet | Entier long |   | 0 = Ordre d'octets natif 1 = Ordre d'octets Macintosh 2 = Ordre d'octets PC | |||||
| offset | Variable |   | Offset (en octets) dans le BLOB | |||||
|   | Nouvel offset après lecture | |||||||
| Résultat | Entier long |   | Valeur de type Entier long (4 octets) | |||||
La fonction BLOB to longint retourne une valeur de type Entier long (4 octets) lue dans le BLOB blob.
Le paramètre ordreOctet fixe l'ordre des octets ("byte ordering") de la valeur Entier long à lire. Vous passez 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 fonction.
Si vous ne passez pas de variable dans le paramètre optionnel offset, les quatre premiers octets de BLOB sont lus.
Si vous passez une variable dans le paramètre optionnel offset, l'entier long sur 4 octets est lu 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 4. 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.
L'exemple suivant lit 20 valeurs de type Entier long dans un BLOB, à partir de l'offset 0x200 :
 $vlOffset:=0x200
 For($viBoucle;0;19)
    $vlValeur:=BLOB to longint(vxUnBlob;PC byte ordering;$vlOffset)
  ` Faire quelque chose avec $vlValeur
 End for
									BLOB to integer
									
									BLOB to real
									
									BLOB to text
									
									INTEGER TO BLOB
									
									LONGINT TO BLOB
									
									REAL TO BLOB
									
									TEXT TO BLOB
									
	Produit :  4D
	Thème :  BLOB
	Numéro :  
        551
        
        
        
	
	Créé :  4D v6
Longint, Byteswapping
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v18)
	
	
	
	
	
 Ajouter un commentaire
Ajouter un commentaire