Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20.6
REAL TO BLOB

REAL TO BLOB 


 

REAL TO BLOB ( real ; BLOB ; realFormat {; offset | *} )  
Parâmetro Tipo   Descrição
real  Real in Valor de tipo real a escrever no BLOB
BLOB  BLOB in BLOB a receber o valor Real
realFormat  Inteiro longo in 0 Formato real nativo 1 Formato real estendido 2 Formato real doble Macintosh 3 Formato real duplo Windows
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 REAL TO BLOB grava o valor real no BLOB blob.

O parâmetro realFormat corrige o formato interno e ordenação de bytes do valor real a ser escrito. Você passa uma das seguintes constantes pré-definidas fornecidas por 4D:

Constante Tipo Valor
Native real format Inteiro longo 0
Extended real format Inteiro longo 1
Macintosh double real format Inteiro longo 2
PC double real format Inteiro longo 3

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

Se você especificar o parâmetro opcional *, o valor real é anexado ao BLOB, o tamanho do BLOB é prorrogado 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 * ou o parâmetro variável offset, o valor real é armazenado no início do BLOB, substituindo o conteúdo anterior, o tamanho do BLOB é ajustado em conformidade.

Se você passar o parâmetro variável offset, o valor real está escrito no offset (a partir do zero) dentro do BLOB. Não importa onde você escreve o valor real, o tamanho do BLOB é aumentado de acordo com o local que você passou (até 8 ou 10 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.

Nota  

Nota de compatibilidade: como este comando altera o blob passado como parâmetro, não é compatível com objetos blob (tipo 4D.Blob). Ver Passing blobs and blob objects to 4D commands em developer.4d.com

Depois de executar este código:

 C_REAL(vrValor)
 vrValor:=...
 REAL TO BLOB(vrValor;vxBlob;Extended real format)
  • Em todas as plataformas, o tamanho do vxBlob é de 10 bytes

Depois de executar esse código:

 C_REAL(vrValor)
 vrValor:=...
 REAL TO BLOB(vrValor;vxBlob;Native real format)
  • Em todas as plataformas, o tamanho de vxBlob é 8 bytes

Depois de executar este código:

 SET BLOB SIZE(vxBlob;100)
 C_REAL(vrValor)
 vrValor:=...
 INTEGER TO BLOB(vrValor;vxBlob;Windows Double real format) ` o Formato real doble Macintosh
  • Em todas as plataformas, o tamanho do vxBlob é de 8 bytes

Depois de executar este código:

 SET BLOB SIZE(vxBlob;100)
 C_REAL(vrValor)
 vrValor:=...
 vlOffset:=50
 REAL TO BLOB(vrValor;vxBlob;Windows Double real format;vlOffset` o Formato real doble Macintosh
  • Em todas as plataformas, o tamanho de vxBlob é de 100 bytes
  • Em todas as plataformas, o valor real é armazenado nos bytes #50 até o #57
  • Os outros bytes do BLOB são inalterados
  • A variável vlOffset foi incrementada em 8 (e agora é igual a 58)

Depois de executar este código:

 C_REAL(vrValor)
 vrValor:=...
 REAL TO BLOB(vrValor;vxBlob;Macintosh double real format` o Formato real doble Windows
  • Em todas as plataformas, o tamanho do vxBlob é de 8 bytes

Depois de executar este código:

 SET BLOB SIZE(vxBlob;100)
 REAL TO BLOB(vrValor;vxBlob;Extended real format;*)
  • Em todas as plataformas, o tamanho do vxBlob é de 110 bytes
  • Em todas as plataformas, o valor real é armazenado nos bytes #100 a #109
  • Os outros bytes do BLOB são inalterados



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: BLOB
Número 552

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v6

 
PALAVRAS CHAVES 

Real, Byteswapping

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20)
Manual de linguagem 4D ( 4D v20.1)
Manual de linguagem 4D ( 4D v20.2)
Manual de linguagem 4D ( 4D v20.3)
Manual de linguagem 4D ( 4D v20.4)
Manual de linguagem 4D ( 4D v20.5)
Manual de linguagem 4D ( 4D v20.6)