4D v14.3TEXT TO BLOB |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
TEXT TO BLOB
|
TEXT TO BLOB ( texto ; BLOB {; textFormat {; offset | *}} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
texto | cadeia |
![]() |
Texto a escrever no BLOB | |||||
BLOB | BLOB |
![]() |
BLOB a receber o texto | |||||
textFormat | Inteiro longo |
![]() |
Formato e conjunto de caracteres de texto | |||||
offset | * | Variável, Operador |
![]() |
Offset no BLOB (expressado em bytes) ou * para adicionar o valor | |||||
![]() |
Novo offset depois da escritura se * for omitido | |||||||
O comando TEXT TO BLOB escreve o texto no BLOB blob.
O parâmetro textFormat pode ser usado para definir o formato interno, o conjunto de caracteres o valor texto a ser escrito. Para fazer isso, passe uma das seguintes constantes (encontrado no tema BLOB) no parâmetro textFormat:
Constante
Tipo
Valor
Mac C string
Inteiro longo
0
Mac Pascal string
Inteiro longo
1
Mac text with length
Inteiro longo
2
Mac text without length
Inteiro longo
3
UTF8 C string
Inteiro longo
4
UTF8 text with length
Inteiro longo
5
UTF8 text without length
Inteiro longo
6
Se você omitir o parâmetro textFormat, por padrão 4D usa o formato Mac C string. Com bancos de dados criados a partir da versão 11, 4D funciona por padrão com o conjunto de caracteres Unicode (UTF8) para o gerenciamento de texto, por isso é recomendado o uso deste conjunto de caracteres.
Notas:
A tabela a seguir descreve cada um desses formatos:
Formato texto | Descrição e exemplos |
C string | O texto termina em um caractere NULL (código ASCII $00). |
UTF8 | "" $00 |
"Café" $43 61 66 C3 A9 00 | |
Mac | "" $00 |
"Café" $43 61 66 8E 00 | |
Pascal string | O texto está precedido de um byte de comprimento. |
UTF8 | - |
- | |
Mac | "" $00 |
"Café" $04 43 61 66 8E | |
Text with length | O texto está precedido por 4 bytes (UTF8) ou 2 bytes (Mac) de comprimento. |
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 | O texto está composto somente por seus caracteres. |
UTF8 | "" Sem dados |
"Café" $43 61 66 C3 A9 | |
Mac | "" Sem dados |
"Café" $43 61 66 8E |
Se você não especificar o parâmetro opcional * nem o parâmetro de deslocamento variável, o valor de texto é 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 do Texto está escrito no offset (a partir do zero) dentro do BLOB. Não importa onde você escreva o valor de texto, o tamanho do BLOB é aumentado de acordo com o local que você passou (e até o tamanho do texto, 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. Entretanto, você pode reutilizar a mesma variável com outro comando de escrita BLOB para gravar outro valor.
Depois de executar este código:
SET BLOB SIZE(vxBlob;0)
C_TEXT(vtValor)
vtValor:="Café" ` O comprimento de vtValor é 4 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac C string) ` O tamanho do BLOB se torna 5 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac Pascal string) ` O tamanho do BLOB se torna 5 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac text with length) ` O tamanho do BLOB se torna 6 bytes
TEXT TO BLOB(vtValor;vxBlob;Mac text without length) ` O tamanho do BLOB se torna 4 bytes
TEXT TO BLOB(vtValor;vxBlob;UTF8 C string) ` O tamanho do BLOB se torna 6 bytes
TEXT TO BLOB(vtValor;vxBlob;UTF8 text with length) ` O tamanho do BLOB se torna 9 bytes
TEXT TO BLOB(vtValor;vxBlob;UTF8 text without length) ` O tamanho do BLOB se torna 5 bytes
Produto: 4D
Tema: BLOB
Número
554
Modificado: 4D v11 SQL
BLOB to integer
BLOB to longint
BLOB to real
BLOB to text
CONVERT FROM TEXT
INTEGER TO BLOB
LONGINT TO BLOB
REAL TO BLOB
Text, UTF8
Manual de linguagem 4D ( 4D v11 SQL Release 6)
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)