4D v14.3

TEXT TO BLOB

Página Inicial

 
4D v14.3
TEXT TO BLOB

TEXT TO BLOB 


 

TEXT TO BLOB ( texto ; BLOB {; textFormat {; offset | *}} )  
Parâmetro Tipo   Descrição
texto  cadeia 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

 
PROPRIEDADES 

Produto: 4D
Tema: BLOB
Número 554

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
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

 
PALAVRAS CHAVES 

Text, UTF8

 
ARTICLE USAGE

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)