4D v16.3

LONGINT TO BLOB

Página Inicial

 
4D v16.3
LONGINT TO BLOB

LONGINT TO BLOB 


 

LONGINT TO BLOB ( longInt ; BLOB ; byteOrder {; offset | *} )  
Parâmetro Tipo   Descrição
longInt  Inteiro longo in Valor de tipo Inteiro longo a escrever no BLOB
BLOB  BLOB in BLOB a receber o valor Inteiro longo
byteOrder  Inteiro longo in 0 Ordem de bytes nativo 1 Ordem de bytes Macintosh 2 Ordem de bytes PC
offset | *  Variável, Operador in Offset no BLOB (expressado em bytes) ou * para adicionar o valor
in Novo offset depois da escritura se * for omitido

O comando LONGINT TO BLOB grava o valor inteiro longo de 4-byte no BLOB blob.

O parâmetro byteOrder fixa a ordem dos bytes do valor inteiro longo de 4-byte a ser escrito. 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 *, o valor inteiro de 4-byte é anexado ao BLOB e o tamanho do BLOB é aumentado em conformidade. Usando o parâmetro opcional *, você pode armazenar qualquer número sequencial InteiroInteiro longoReal ou valores de texto (ver outros comandos BLOB) em um BLOB, enquanto o BLOB cabe na memória.

Se você não especificar o parâmetro opcional * nem o parâmetro variável offset, um valor inteiro de 4-bytes é armazenado no início do BLOB, substituindo o conteúdo anterior, o tamanho do BLOB é ajustado em conformidade.

Se você passar o parâmetro offset, um valor inteiro de 4-byte é escrito no byte (a partir do zero) dentro do BLOB. Não importa onde você escreva o valor inteiro de 4-byte, o tamanho do BLOB é aumentado de acordo com o local que você passou (acima de 4 bytes, se necessário). Novos bytes alocados, com exceção do que você está escrevendo, são inicializados em zero.

Após a chamada, o parâmetro variável offset é devolvido, incrementado pelo número de bytes que foram escritos. Portanto, você pode reutilizar a mesma variável com outro comando de escrita BLOB para gravar outro valor.

Depois de executar esse código:

 LONGINT TO BLOB(0x01020304;vxBlob;Native byte ordering)
  • O tamanho de vxBlob é 4 bytes
  • Em PowerPC vxBLOB{0}=$01, vxBLOB{1}=$02, vxBLOB{2}=$03, vxBLOB{3}=$04
  • Em Intel:PC vxBLOB{0}=$04, vxBLOB{1}=$03, vxBLOB{2}=$02, vxBLOB{3}=$01

Depois de executar este código:

 LONGINT TO BLOB(0x01020304;vxBlob;Macintosh byte ordering)
  • O tamanho de vxBlobes 4 bytes
  • Em todas as plataformas vxBLOB{0}=$01, vxBLOB{1}=$02, vxBLOB{2}=$03, vxBLOB{3}=$04

Depois de executar esse código:

 LONGINT TO BLOB(0x01020304;vxBlob;PC byte ordering)
  • O tamanho de vxBlob es 4 bytes
  • Em todas as plataformas vxBLOB{0}=$04, vxBLOB{1}=$03, vxBLOB{2}=$02, vxBLOB{3}=$01

Depois de executar esse código:

 SET BLOB SIZE(vxBlob;100)
 LONGINT TO BLOB(0x01020304;vxBlob;PC byte ordering;*)
  • O tamanho de vxBlob é 104 bytes
  • Em todas as plataformas vxBLOB{100}=$04, vxBLOB{101}=$03, vxBLOB{102}=$02, vxBLOB{103}=$01
  • Os outros bytes do BLOB são inalterados 

Depois de executar esse código:

 SET BLOB SIZE(vxBlob;100)
 vlOffset:=50
 LONGINT TO BLOB(0x01020304;vxBlob;Macintosh byte ordering;vlOffset)
  • O tamanho de vxBlob é 100 bytes
  • Em todas as plataformas vxBLOB{50}=$01, vxBLOB{51}=$02, vxBLOB{52}=$03, vxBLOB{53}=$04
  • Os outros bytes do BLOB são inalterados
  • A variável vlOffset tem sido incrementada em 4 (e agora é igual a 54)



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: BLOB
Número 550

This command can be run in preemptive processes

 
HISTÓRIA 

Criado por: 4D v6

 
PALAVRAS CHAVES 

Longint

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)