| 4D v13.4TEXT TO BLOB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v13.4
 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***