4D Write v16WR Find |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v16
WR Find
|
WR Find ( area ; aBuscar ; palavraComp ; maius ; todoODoc ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
area | Inteiro longo |
![]() |
Á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 | |||||
todoODoc | Inteiro |
![]() |
0=buscar depois do ponto de inserção 1=buscar em todo o documento | |||||
Resultado | Inteiro longo |
![]() |
Estado da pesquisa | |||||
O comando WR Find permite procurar uma cadeia de caracteres em uma área 4D Write. Pode recuperar a posição das palavras encontradas utilizando o comando WR GET WORDS. Pode recuperar a posição da seleção encontrada utilizando o comando WR GET SELECTION. Se a cadeia de caracteres se encontra, WR Find devolve 1 e seleciona a primeira ocorrência.
Se a pesquisa não teve sucesso, WR Find devolve 0 e a seleção atual não se modifica. Se área não existe, WR Find devolve -1.
palavraComp e maius permitem definir algumas opções da pesquisa.
No parâmetro palavraComp, pode passar uma das seguintes constantes, que se encontram no tema WR Parameters:
Constante | Tipo | Valor |
wr partial match | Inteiro longo | 0 |
wr whole word | Inteiro longo | 1 |
No parâmetro maius pode passar uma das seguintes constantes, que se encontram no tema WR Parameters:
Constante | Tipo | Valor |
wr ignore uppercase | Inteiro longo | 0 |
wr case sensitive | Inteiro longo | 1 |
todoODoc permite definir se a pesquisa aplica a todo o documento.
Neste parâmetro, pode passar uma das seguintes constantes, que se encontram no tema WR Parameters:
Constante | Tipo | Valor |
wr after insertion point | Inteiro longo | 0 |
wr whole document | Inteiro longo | 1 |
Você pede aos usuários para introduzir a cadeia a procurar, depois realiza a pesquisa:
ToFind:=Request("Introduzir a palavra a buscar:")
If(OK=1)
WR SET SELECTION(Area;0;0)
If(WR Find(Area;ToFind;wr whole word;wr case sensitive;1)=0)
ALERT("Não se encontrou nenhuma ocorrência.")
End if
End if
Este exemplo propõe um método de pesquisa baseado em palavras chave que procura em uma seleção de registros. A pesquisa é realiza nas áreas Imagem.
Importante: Se você guardou suas áreas 4D Write nos campos BLOB, consulte o exemplo do comando WR Direct find, que é muito mais rápido.
Seu banco de dados contém receitas de cozinha. As áreas 4D Write são salvadas nos campos Imagem. Você quer encontrar todas as receitas que utilizam um ingrediente específico. Este é o método correspondente:
ToFind:=Request("Introduzir o ingrediente a buscar:")
`Criação de um conjunto vazio no qual serão localizados todos os registros encontrados
CREATE EMPTY SET([MinhasReceitas];"RegistrosEncontrados")
ALL RECORDS([MisRecetas]) `Navegação por toda a seleção da tabela
OffscreenArea:=WR New offscreen area
While(Not(End selection([MinhasReceitas])))
WR PICTURE TO AREA(OffscreenArea;[MinhasReceitas]PictRecipe_)
If(WR Find(OffscreenArea;ToFind;1;1;1)=1)
`Se encontrado o ingrediente, o registro é agregado ao conjunto
ADD TO SET([MinhasReceitas];"FoundRecords")
End if
NEXT RECORD([MinhasReceitas])
End while
WR DELETE OFFSCREEN AREA(OffscreenArea)
USE SET("RegistrosEncontrados")
OUTPUT FORM([MinhasReceitas];"Saída")
MODIFY SELECTION([MinhasReceitas];*)
Produto: 4D Write
Tema: WR Gestão de texto
Número
89495
Criado por: 4D Write 6.5
4D Write - Linguagem ( 4D Write v16)