4D Write v14WR Direct find |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v14
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 | Alfa |
![]() |
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 v11.6)
4D Write - Linguagem ( 4D Write v12)
4D Write - Linguagem ( 4D Write v14)
4D Write - Linguagem ( 4D v13)
4D Write - Linguagem ( 4D Write v14 R2)
4D Write - Linguagem ( 4D Write v14 R3)
4D Write - Linguagem ( 4D Write v14 R4)