BLOB to longint
BLOB to longint ( BLOB ; byteOrdem {; offset} ) : Integer
Parâmetro | Tipo | Descrição | |
---|---|---|---|
Blob | Blob | → | BLOB do qual obter o valor inteiro longo |
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 | Integer | ← | Valor inteiro longo (4 bytes) |
Descrição
O comando BLOB to longint retorna um valor de tipo Inteiro longo (4 bytes) lido do BLOB blob.
O parâmetro byteOrder fixa a ordem dos bytes do valor inteiro longo de 4-byte 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 4-byte é lido no offset (a partir de zero) dentro do BLOB. Se você não especificar o parâmetro opcional offset, os quatro primeiros bytes do BLOB são lidos.
Nota: Você deve passar um valor de offset entre 0 (zero) e o tamanho do BLOB menos 4. 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 Inteiro longo de um BLOB, iniciando no offset 0x200:
$vlOffset:=0x200
For($viLoop;0;19)
$vlValor:=BLOB to longint(vxUnBlob;PC byte ordering;$vlOffset)
// Fazer algo com $vlValor
End for
Ver também
BLOB to integer
BLOB to real
BLOB to text
INTEGER TO BLOB
LONGINT TO BLOB
REAL TO BLOB
TEXT TO BLOB