Saltar al contenido principal
Versión: Siguiente

BLOB to integer

BLOB to integer ( BLOB ; byteOrden {; offset} ) -> Resultado

ParámetroTipoDescripción
BLOBBLOB🡒BLOB del cual obtener el valor entero
byteOrdenEntero largo🡒0 Orden de bytes nativo 1 Orden de bytes Macintosh 2 Orden de bytes PC
offsetVariable🡒Offset en el BLOB (expresado en bytes)
🡘Nuevo offset después de la lectura
ResultadoEntero🡐Valor entero (2 bytes)

Descripción

El comando BLOB to integer devuelve un valor entero (2 bytes) leído del BLOB blob.

El parámetro byteOrden fija el orden de los bytes ("byte ordering) del valor entero (2 bytes) a leer. Se pasa una de las siguientes constantes predefinidas por 4D:

ConstanteTipoValor
Native byte orderingEntero largo0
Macintosh byte orderingEntero largo1
PC byte orderingEntero largo2

Nota sobre la independencia de plataforma: si intercambia BLOBs entre las plataformas Macintosh y PC, es su decisión administrar los temas de byte swapping cuando utilice este comando.

Si especifica la variable del parámetro opcional offset, el valor entero (2 bytes) se lee desde el offset (a partir de cero) del BLOB. Si no especifica la variable del parámetro opcional offset, se leen los dos primeros bytes del BLOB.

Nota: debe pasar un offset (en bytes) entre 0 (cero) y el tamaño del BLOB menos 2. De lo contrario se genera el error -111.

Después de llamar el comando, la variable se incrementa en el número de bytes leido. Puede reutilizar esa misma variable con otro comando de lectura de BLOBs para leer otro valor.

Ejemplo

El siguiente ejemplo lee 20 valores enteros de un BLOB, a partir del offset 0x200:

 $vlOffset:=0x200
 For($viLoop;0;19)
    $viValor:=BLOB to integer(vxUnBlob;PC byte ordering;$vlOffset)
  // Hacer algo con $viValor
 End for

Ver también

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