Saltar para o conteúdo principal
Versão: Próximo

BLOB to integer

BLOB to integer ( BLOB ; byteOrdem {; offset} ) -> Resultado da função

ParâmetroTipoDescrição
BLOBBLOB🡒BLOB do qual obter o valor inteiro
byteOrdemInteiro longo🡒0 Ordem de bytes nativo 1 Ordem de bytes Macintosh 2 Ordem de bytes PC
offsetVariável🡒Offset no BLOB (expressado em bytes)
🡘Novo offset depois da leitura
Resultado da funçãoInteiro🡐Valor inteiro (2 bytes)

Descrição

O comando BLOB to integer retorna um valor inteiro de 2 bytes inteiro lido do BLOB blob.

O parâmetro byteOrdem fixa a ordenação de bytes de valor de 2 bytes inteiro a ser lido. Você passa uma das seguintes constantes pré-definidas fornecidas por 4D:

ConstanteTipoValor
Native byte orderingInteiro longo0
Macintosh byte orderingInteiro longo1
PC byte orderingInteiro longo2

Nota sobre a independência de plataforma: Se você intercambiar BLOBs entre as plataformas Macintosh e PC, cabe a você a gerenciar os problemas da troca de bytes ao usar este comando.

Se você especificar o parâmetro opcional offset , o valor inteiro de 2-byte é lido no offset (a partir de zero) dentro do BLOB. Se você não especificar o parâmetro opcional offset, os dois primeiros bytes do BLOB são lidos.

Nota: Você deve passar um offset (em bytes) entre 0 (zero) e o tamanho do BLOB menos 2. Se você não fizer isso, um erro -111 é gerado.

Após a chamada, a variável é incrementada pelo número de bytes lidos, portanto, você pode reutilizar a mesma variável com outro comando de leitura BLOB para ler outro valor.

Exemplo

O exemplo a seguir lê 20 valores inteiros de um BLOB, iniciando no offset 0x200:

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

Ver também

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