Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
TEXT TO BLOB
|
TEXT TO BLOB ( texto ; BLOB {; formatoTexto {; offset | *}} ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
texto | Cadena |
![]() |
Texto a escribir en el BLOB | |||||
BLOB | BLOB |
![]() |
BLOB a recibir el texto | |||||
formatoTexto | Entero largo |
![]() |
Formato y conjunto de caracteres de texto | |||||
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 * | |||||||
El comando TEXT TO BLOB escribe el valor de tipo Texto texto en el BLOB blob.
El parámetro formatoTexto puede utilizarse para definir el formato interno y el conjunto de caracteres del valor de tipo Texto a escribir. Para hacer esto, pase una de las siguientes constantes (encontradas en el tema BLOB) en el parámetro formatoTexto:
Constante
Tipo
Valor
Mac C string
Entero largo
0
Mac Pascal string
Entero largo
1
Mac text with length
Entero largo
2
Mac text without length
Entero largo
3
UTF8 C string
Entero largo
4
UTF8 text with length
Entero largo
5
UTF8 text without length
Entero largo
6
Si omite el parámetro formatoTexto, 4D utiliza por defecto el formato Mac C string. En bases creadas a partir de la versión 11, 4D trabaja por defecto con el conjunto de caracteres Unicode (UTF8) para administrar texto, de manera que se recomienda utilizar este conjunto de caracteres. Por razones de compatibilidad, este comando puede utilizarse para “forzar” la conversion utilizando el conjunto de caracteres Mac Roman (utilizado en versiones anteriores de 4D). El conjunto de caracteres se elije vía el parámetro formatoTexto.
Notas:
La siguiente tabla describe cada uno de estos formatos:
Formato texto | Descripción y ejemplos |
C string | El texto termina en un carácter NULL (código ASCII $00). |
UTF8 | "" $00 |
"Café" $43 61 66 C3 A9 00 | |
Mac | "" $00 |
"Café" $43 61 66 8E 00 | |
Pascal string | El texto está precedido de un byte de longitud. |
UTF8 | - |
- | |
Mac | "" $00 |
"Café" $04 43 61 66 8E | |
Text with length | El texto está precedido por 4 bytes (UTF8) o 2 bytes (Mac) de longitud. |
UTF8 | "" $00 00 00 00 |
"Café" $00 00 00 05 43 61 66 C3 A9 | |
Mac | "" $00 00 |
"Café" $00 04 43 61 66 8E | |
Text without length | El texto está compuesto únicamente por sus caracteres. |
UTF8 | "" Sin datos |
"Café" $43 61 66 C3 A9 | |
Mac | "" Sin datos |
"Café" $43 61 66 8E |
Si no especifica el parámetro opcional * ni la variable del parámetro offset, el valor de tipo texto 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 de tipo Texto se escribe en el offset (a partir de cero) en el BLOB. Sin importar donde escriba el valor tipo Texto, el tamaño del BLOB aumenta de acuerdo a la ubicación pasada (más hasta el tamaño del texto, si es necesario). Los bytes redefinidos, diferentes de los que está escribiendo, se inicializan en cero.
Después de llamar el comando, la variable del parámetro offset se incrementa en el número de bytes que haya sido escrito. Por lo tanto, puede reutilizar la misma variable con otro comando de escritura de BLOB para escribir otro valor.
Después de la ejecución este código:
SET BLOB SIZE(vxBlob;0)
C_TEXT(vtValor)
vtValor:="Café" ` La longitud de vtValor es 4 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac C string) ` El tamaño del BLOB se vuelve 5 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac Pascal string) ` El tamaño del BLOB se vuelve 5 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac text with length) ` El tamaño del BLOB se vuelve 6 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac text without length) ` El tamaño del BLOB se vuelve 4 bytes
TEXT TO BLOB(vtValor;vxBlob;UTF8 C string) ` El tamaño del BLOB se vuelve 6 bytes
TEXT TO BLOB(vtValor;vxBlob;UTF8 text with length) ` El tamaño del BLOB se vuelve 9 bytes
TEXT TO BLOB(vtValor;vxBlob;UTF8 text without length) ` El tamaño del BLOB se vuelve 5 bytes
BLOB to integer
BLOB to longint
BLOB to real
BLOB to text
CONVERT FROM TEXT
INTEGER TO BLOB
LONGINT TO BLOB
REAL TO BLOB
Producto: 4D
Tema: BLOB
Número
554
Modificado: 4D v11 SQL
UTF8, Text
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)