4D v16.3

TEXT TO BLOB

Página Inicial

 
4D v16.3
TEXT TO BLOB

TEXT TO BLOB 


 

TEXT TO BLOB ( texto ; BLOB {; textFormat {; offset | *}} )  
Parâmetro Tipo   Descrição
texto  String in Texto a escrever no BLOB
BLOB  BLOB in BLOB a receber o texto
textFormat  Inteiro longo in Formato e conjunto de caracteres de texto
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 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:

  • As constantes "UTF8" podem ser usadas somente quando o aplicativo é executado no modo Unicode.
  • As constantes "Mac" não podem trabalhar com textos maiores que 32 KB.
  • Se você deseja trabalhar com conjuntos de caracteres diferentes a UTF8, use o comando CONVERT FROM TEXT .

A tabela a seguir descreve cada um desses formatos:

Formato textoDescriçã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 stringO texto está precedido de um byte de comprimento.
UTF8-
-
Mac"" $00
"Café" $04 43 61 66 8E
Text with lengthO 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 lengthO 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ê especificar o parâmetro opcional *, o valor de texto é anexado ao BLOB, o tamanho do BLOB é aumentado 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 * 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.

Exemplo  

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



Ver também 

BLOB to integer
BLOB to longint
BLOB to real
BLOB to text
CONVERT FROM TEXT
INTEGER TO BLOB
LONGINT TO BLOB
REAL TO BLOB

 
PROPRIEDADES 

Produto: 4D
Tema: BLOB
Número 554

This command can be run in preemptive processes

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
PALAVRAS CHAVES 

UTF8, Text

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)