BLOB to integer
BLOB to integer ( BLOB ; byteOrdem {; offset} ) -> Resultado da função
Parâmetro | Tipo | Descrição | |
---|---|---|---|
Blob | Blob | → | BLOB do qual obter o valor inteiro |
byteOrdem | Integer | → | 0 Ordem de bytes nativo 1 Ordem de bytes Macintosh 2 Ordem de bytes PC |
offset | Variable | ↔ | Offset no BLOB (expressado em bytes) |
Novo offset depois da leitura | |||
Resultado da função | Inteiro | ← | 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:
Constante | Tipo | Valor |
---|---|---|
Native byte ordering | Inteiro longo | 0 |
Macintosh byte ordering | Inteiro longo | 1 |
PC byte ordering | Inteiro longo | 2 |
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