4D v13.4

BLOB to integer

Home

 
4D v13.4
BLOB to integer

BLOB to integer 


 

BLOB to integer ( blob ; byteOrder {; offset} ) -> Function result 
Parameter Type   Description
blob  BLOB in BLOB from which to get the integer value
byteOrder  Longint in 0 Native byte ordering 1 Macintosh byte ordering 2 PC byte ordering
offset  Variable in Offset within the BLOB (expressed in bytes)
in New offset after reading
Function result  Integer in 2-byte Integer value

The BLOB to integer command returns a 2-byte Integer value read from the BLOB blob.

The byteOrder parameter fixes the byte ordering of the 2-byte Integer value to be read. You pass one of the following predefined constants provided by 4D:

Constant Type Value
Macintosh byte ordering Longint 1
Native byte ordering Longint 0
PC byte ordering Longint 2

Note regarding Platform Independence: If you exchange BLOBs between Macintosh and PC platforms, it is up to you to manage byte swapping issues when using this command.

If you specify the optional offset variable parameter, the 2-byte Integer value is read at the offset (starting from zero) within the BLOB. If you do not specify the optional offset variable parameter, the first two bytes of the BLOB are read.

Note: You should pass an offset (in bytes) value between 0 (zero) and the size of the BLOB minus 2. If you do not do so, an error -111 is generated.

After the call, the variable is incremented by the number of bytes read, Therefore, you can reuse that same variable with another BLOB reading command to read another value.

Example  

The following example reads 20 Integer values from a BLOB, starting at the offset 0x200:

 $vlOffset:=0x200
 For($viLoop;0;19)
    $viValue:=BLOB to integer(vxSomeBlob;PC byte ordering;$vlOffset)
  ` Do something with $viValue
 End for

 
PROPERTIES 

Product: 4D
Theme: BLOB
Number: 549

 
INDEX

Alphabetical list of commands

 
HISTORY 

Created: 4D v6

 
SEE ALSO 

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

 
TAGS 

Integer, Byteswapping***