Saltar al contenido principal
Versión: Siguiente

REAL TO BLOB

REAL TO BLOB ( real ; BLOB ; formatoReal {; offset | *} )

ParámetroTipoDescripción
realReal🡒Valor de tipo real a escribir en el BLOB
BLOBBLOB🡒BLOB a recibir el valor Real
formatoRealEntero largo🡒0 Formato real nativo 1 Formato real extendido 2 Formato real doble Macintosh 3 Formato real doble Windows
offset | *Variable, Operador🡒Offset en el BLOB (expresado en bytes) o * para añadir el valor
🡘Nuevo offset después de la escritura si se omite *

Descripción

El comando REAL TO BLOB escribe el valor de tipo Real (o numérico) real en el BLOB blob.

El parámetro formatoReal fija el formato interno y el orden de los bytes ("byte ordering") del valor de tipo Real a escribir. Usted pasa uno de las siguientes constantes predefinidas por 4D:

ConstanteTipoValor
Native real formatEntero largo0
Extended real formatEntero largo1
Macintosh double real formatEntero largo2
PC double real formatEntero largo3

Nota sobre la independencia de plataforma: si intercambia los BLOBs entre las plataformas Macintosh y PC, es su decisión administrar los temas de formatos reales y byte swapping cuando utilice este comando.

Si especifica el parámetro opcional *, el valor real se adjunta al BLOB; el tamaño del BLOB se extiende en consecuencia. Utilizando el parámetro * opcional, usted puede almacenar secuencialmente cualquier número de valores de tipo Entero, Entero largo, Real o Texto (ver otros comandos BLOB) en un BLOB, siempre y cuando tenga memoria disponible.

Si no especifica el parámetro opcional * ni la variable en el parámetro offset, el valor Real se almacena al comienzo del BLOB, reemplazando su contenido anterior; el tamaño del BLOB se ajusta en consecuencia.

Si pasa la variable en el parámetro offset, el valor Real se escribe en el offset (comenzando desde cero) en el BLOB. Sin importar donde escribe el valor Real, el tamaño del BLOB aumenta de acuerdo a la ubicación pasada (más hasta 8 ó 10 bytes, si es necesario). Los bytes redefinidos, diferentes a los que está escribiendo, se inicializan en cero.

Después de llamar el comando, se devuelve la variable del parámetro, incrementada en el número de bytes que hayan sido escritors. Por lo tanto, puede reutilizar la misma variable con otro comando de escritura de BLOB para escribir otro valor.

Nota

Nota de compatibilidad: como este comando altera el blob pasado como parámetro, no soporta objetos blob (tipo 4D.Blob). Ver Pasar blobs y objetos blob a comandos 4D en developer.4d.com.

Ejemplo 1

Después de la ejecución de este código:

 var vrValor : Real
 vrValor:=...
 REAL TO BLOB(vrValor;vxBlob;Extended real format)
  • En todas las plataformas, el tamaño de vxBlob is 10 bytes

Ejemplo 2

Después de la ejecución de este código:

 var vrValor : Real
 vrValor:=...
 REAL TO BLOB(vrValor;vxBlob;Native real format)
  • En todas las plataformas, el tamaño de vxBlob es 8 bytes

Ejemplo 3

Después de la ejecución de este código:

 SET BLOB SIZE(vxBlob;100)
 var vrValor : Real
 vrValor:=...
 INTEGER TO BLOB(vrValor;vxBlob;Windows Double real format) // o Formato real doble Macintosh
  • En todas las plataformas, el tamaño de vxBlob es 8 bytes

Ejemplo 4

Después de la ejecución de este código:

 SET BLOB SIZE(vxBlob;100)
 var vrValor : Real
 vrValor:=...
 vlOffset:=50
 REAL TO BLOB(vrValor;vxBlob;Windows Double real format;vlOffset) // o Formato real doble Macintosh
  • En todas las plataformas, el tamaño de vxBlob es 100 bytes
  • En todas las plataformas, el valor real se almacena en los bytes #50 a #57
  • Los otros bytes del BLOB se dejan sin cambiar
  • La variable vlOffset se ha incrementado en 8 (y ahora es igual a 58)

Ejemplo 5

Después de la ejecución de este código:

 var vrValor : Real
 vrValor:=...
 REAL TO BLOB(vrValor;vxBlob;Macintosh double real format) // o Formato real doble Windows
  • En todas las plataformas, el tamaño de vxBlob es 8 bytes

Ejemplo 6

Después de la ejecución de este código:

 SET BLOB SIZE(vxBlob;100)
 REAL TO BLOB(vrValor;vxBlob;Extended real format;*)
  • En todas las plataformas, el tamaño de vxBlob es 110 bytes
  • En todas las plataformas, el valor real se almacena en los bytes #100 a #109
  • Los otros bytes del BLOB no son modificados

Ver también

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