4D Write v16

WR Find

Página Inicial

 
4D Write v16
WR Find

WR Find 


 

WR Find ( area ; aBuscar ; palavraComp ; maius ; todoODoc ) -> Resultado 
Parâmetro Tipo   Descrição
area  Inteiro longo in Área 4D Write
aBuscar  Alpha in Cadeia a buscar
palavraComp  Inteiro in 0=parte da palavra 1=toda a palavra
maius  Inteiro in 0=ignorar maiúsculas 1=ter em conta maiúsculas
todoODoc  Inteiro in 0=buscar depois do ponto de inserção 1=buscar em todo o documento
Resultado  Inteiro longo in 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];*)



Ver também 

WR Direct find

 
PROPRIEDADES 

Produto: 4D Write
Tema: WR Gestão de texto
Número 89495

 
HISTÓRIA 

Criado por: 4D Write 6.5

 
ARTICLE USAGE

4D Write - Linguagem ( 4D Write v16)