4D Write v16

WR Find

Inicio

 
4D Write v16
WR Find

WR Find 


 

WR Find ( area ; aBuscar ; palabraComp ; mayus ; todoElDoc ) -> Resultado 
Parámetro Tipo   Descripción
area  Entero largo in Área 4D Write
aBuscar  Alpha in Cadena a buscar
palabraComp  Entero in 0=parte de la palabra 1=toda la palabra
mayus  Entero in 0=ignorar mayúsculas 1=tener en cuenta mayúsculas
todoElDoc  Entero in 0=buscar después del punto de inserción 1=buscar en todo el documento
Resultado  Entero largo in Estado de la búsqueda

El comando WR Find permite buscar una cadena de caracteres en un área 4D Write. Puede recuperar la posición de las palabras encontradas utilizando el comando WR GET WORDS. Puede recuperar la posición de la selección encontrada utilizando el comando WR GET SELECTION. Si la cadena de caracteres se encuentra, WR Find devuelve 1 y selecciona la primera ocurrencia.

Si la búsqueda no tuvo éxito, WR Find devuelve 0 y la selección actual no se modifica. Si area no existe, WR Find devuelve -1.

palabraComp y mayus permiten definir algunas opciones de la búsqueda.
En el parámetro palabraComp, puede pasar una de las siguientes constantes, que se encuentran en el tema WR Parámetros:

Constante Tipo Valor
wr partial match Entero largo 0
wr whole word Entero largo 1

En el parámetro mayus puede pasar una de las siguientes constantes, que se encuentran en el tema WR Parámetros:

Constante Tipo Valor
wr ignore uppercase Entero largo 0
wr case sensitive Entero largo 1

todoElDoc permite definir si la búsqueda aplica a todo el documento.

En este parámetro, puede pasar una de las siguientes constantes, que se encuentran en el tema WR Parámetros:

Constante Tipo Valor
wr after insertion point Entero largo 0
wr whole document Entero largo 1

Usted les pide a los usuarios que introduzcan la cadena a buscar, luego realiza la búsqueda:

 ToFind:=Request("Introduzca la palabra 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("No se encontró ninguna ocurrencia.")
    End if
 End if

Este ejemplo propone un método de búsqueda basado en palabras clave que busca en una selección de registros. La búsqueda se realiza en las áreas Imagen.

Importante: si guardó sus áreas 4D Write en los campos BLOB, consulte el ejemplo del comando WR Direct find, que es mucho más rápido.

Su base de datos contiene recetas de cocina. Las áreas 4D Write se guardan en los campos Imagen. Usted quiere encontrar todas las recetas que utilizan un ingrediente específico. Este es el método correspondiente:

 ToFind:=Request("Introduzca el ingrediente a buscar:")
  `Creación de un conjunto vacío en el cual se ubicarán todos los registros encontrados
 CREATE EMPTY SET([MisRecetas];"RegistrosEncontrados")
 ALL RECORDS([MisRecetas]`Navegación por toda la selección de la tabla
 OffscreenArea:=WR New offscreen area
 While(Not(End selection([MisRecetas])))
    WR PICTURE TO AREA(OffscreenArea;[MisRecetas]PictRecipe_)
    If(WR Find(OffscreenArea;ToFind;1;1;1)=1)
  `Si se encuentra el ingrediente, el registro se añade al conjunto
       ADD TO SET([MisRecetas];"FoundRecords")
    End if
    NEXT RECORD([MisRecetas])
 End while
 WR DELETE OFFSCREEN AREA(OffscreenArea)
 USE SET("RegistrosEncontrados")
 OUTPUT FORM([MisRecetas];"Salida")
 MODIFY SELECTION([MisRecetas];*)



Ver también 

WR Direct find

 
PROPIEDADES 

Producto: 4D Write
Tema: WR Gestión de texto
Número 89495

 
HISTORIA 

Creado por: 4D Write 6.5

 
ARTICLE USAGE

4D Write - Lenguaje ( 4D Write v16)