version 6.0
BLOB to longint (blob; byteOrder{; offset}) Number
Parameter | Type | Description | |
blob | BLOB | BLOB from which to get the Long Integer value | |
byteOrder | Number | 0 Native byte ordering | |
1 Macintosh byte ordering | |||
2 PC byte ordering | |||
offset | Variable | Offset within the BLOB (expressed in bytes) | |
New offset after reading | |||
Function result | Number | 4-byte Long Integer value |
Description
The BLOB to longint command returns a 4-byte Long Integer value read from the BLOB blob.
The byteOrder parameter fixes the byte ordering of the 4-byte Long Integer value to be read. You pass one of the following predefined constants provided by 4D:
Constant | Type | Value |
Native byte ordering | Long Integer | 0 |
Macintosh byte ordering | Long Integer | 1 |
PC byte ordering | Long Integer | 2 |
Note regarding Platform Independence: If you exchange BLOBs between Macintosh and PC platforms, it is up to you to manage byte swapping issues while using this command.
If you specify the optional offset variable parameter, the 4-byte Long Integer is read at the offset (starting from zero) within the BLOB. If you do not specify the optional offset variable parameter, the first four bytes of the BLOB are read.
Note: You should pass an offset value between 0 (zero) and the size of the BLOB minus 4. 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 Long Integer values from a BLOB, starting at the offset 0x200:
$vlOffset:=0x200 For ($viLoop;0;19) $vlValue:=BLOB to longint(vxSomeBlob;PC byte ordering;$vlOffset) ` Do something with $vlValue End for
See Also
BLOB to integer, BLOB to real, BLOB to text, INTEGER TO BLOB, LONGINT TO BLOB, REAL TO BLOB, TEXT TO BLOB.