| 4D Write v15WR Direct find | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D Write v15
 WR Direct find 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WR Direct find ( BLOB ; aBuscar ; palavraComp ; maius ) -> Resultado | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| BLOB | BLOB |   | BLOB que contém uma área 4D Write | |||||
| aBuscar | Alpha |   | Cadeia a buscar | |||||
| palavraComp | Inteiro |   | 0=parte da palavra 1=toda a palavra | |||||
| maius | Inteiro |   | 0=ignorar maiúsculas 1=ter em conta maiúsculas | |||||
| Resultado | Inteiro longo |   | Estado da pesquisa | |||||
O comando WR Direct find permite procurar diretamente uma cadeia de caracteres em um BLOB que contém uma área 4D Write sem necessitar abrir a área, aumentando a velocidade.  
Se a cadeia de caracteres é encontrada, WR Direct find devolve a posição da cadeia de caracteres no texto.
Se a pesquisa não teve sucesso, a função devolve -1.
Se blob não representa o conteúdo de uma área 4D Write, WR Direct find devolve -2.
Os argumentos palavraComp e maius permitem escolher algumas opções para a pesquisa.
No parâmetro palabraComp, pode passar uma das seguintes constantes, que se encontram no tema :
| Constante | Tipo | Valor | 
| wr partial match | Inteiro longo | 0 | 
| wr whole word | Inteiro longo | 1 | 
| Constante | Tipo | Valor | 
| wr ignore uppercase | Inteiro longo | 0 | 
| wr case sensitive | Inteiro longo | 1 | 
Este exemplo oferece um método de pesquisa por palavra chave que procura em uma seleção de registros. Sua base contém receitas de cozinha. As áreas 4D Write se guardam em campos BLOB. Você quer encontrar as receitas que utilizam um ingrediente específico. Este é o método correspondente, o qual é muito rápido:
 ToFind:=Request("Introduzir o ingrediente a buscar:")
  `Criação de um conjunto vazio no qual se localizam os registros encontrados
 CREATE EMPTY SET([MinhasReceitas];"RegistrosEncontrados")
 ALL RECORDS([MinhasReceitas]) `Navegar toda a seleção da tabela
 While(Not(End selection([MinhasReceitas])))
    If(WR Direct find([MinhasReceitas]BlobRecipe_;ToFind;wr whole word;wr case sensitive)>0)
  `Se encontrado o ingrediente, o registro é adicionado ao conjunto
       ADD TO SET([MinhasReceitas];"RegistrosEncontrados")
    End if
    NEXT RECORD([MinhasReceitas])
 End while
 USE SET("RegistrosEncontrados")
 OUTPUT FORM([MinhasReceitas];"Saída")
 MODIFY SELECTION([MinhasReceitas];*)
	Produto: 4D Write
	Tema: WR  Gestão de texto
	Número 
        89494
        
        
        
	
	Criado por: 4D Write 6.5
	
	
	
	
	
	
	
	
	4D Write - Linguagem ( 4D Write v15)
	
	
	
	
	
	
	
 Adicionar um comentário
Adicionar um comentário