versión 6.0
REAL TO BLOB (real; BLOB; formatoReal{; offset | *})
Parámetro | Tipo | Descripción | |
real | Numérico | Valor de tipo real a escribir en el BLOB | |
BLOB | BLOB | BLOB a recibir el valor Real | |
formatoReal | Numérico | 0 Formato real nativo | |
1 Formato real extendido | |||
2 Formato real doble Macintosh | |||
3 Formato real doble Windows | |||
offset | * | Variable | * | 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:
Constante | Tipo | Valor |
Native real format | Entero largo | 0 |
Extended real format | Entero largo | 1 |
Macintosh double real format | Entero largo | 2 |
PC double real format | Entero largo | 3 |
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 o 10 bytes, si es necesario). Los bytes redefinidos, diferentes a los que está escribiendo, se inicializan en cero.
Después de llamar el comando, la variable del parámetro es devuelta, incrementada en el número de bytes que hayan sido escritors. Por lo tanto, usted puede reutilizar la misma variable con otro comando de escritura de BLOB para escribir otro valor.
Ejemplos
1. Después de la ejecución de este código:
C_REAL (vrValor) vrValor := ... REAL TO BLOB (vrValor;vxBlob;Native real format)
En todas las plataformas, el tamaño de vxBlob es 8 bytes
2. Después de la ejecución de este código:
C_REAL (vrValor) vrValor := ... REAL TO BLOB (vrValor;vxBlob;Extended real format)
En todas las plataformas, el tamaño de vxBlob is 10 bytes
3. Después de la ejecución de este código:
C_REAL (vrValor) 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
4. Después de la ejecución de 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
En todas las plataformas, el tamaño de vxBlob es 8 bytes
5. 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
6. Después de la ejecución de 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
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)
Ver también
BLOB to integer, BLOB to longint, BLOB to real, BLOB to text, INTEGER TO BLOB, LONGINT TO BLOB, TEXT TO BLOB.