| 4D v15 R2TEXT TO BLOB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15 R2
 TEXT TO BLOB 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| TEXT TO BLOB ( texto ; BLOB {; textFormat {; offset | *}} ) | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| texto | String |   | 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
									BLOB to integer
									
									BLOB to longint
									
									BLOB to real
									
									BLOB to text
									
									CONVERT FROM TEXT
									
									INTEGER TO BLOB
									
									LONGINT TO BLOB
									
									REAL TO BLOB
									
	Produto: 4D
	Tema: BLOB
	Número 
        554
        
        
        
	
	Modificado: 4D v11 SQL  
Text, UTF8
	
	
	
	
	
	
	Manual de linguagem 4D ( 4D v15)
	Manual de linguagem 4D ( 4D v15 R2)
	
	
	
	Manual de linguagem 4D ( 4D v15.4)
	
	Manual de linguagem 4D ( 4D v15.3)
 Adicionar um comentário
Adicionar um comentário