4D Write v14WR Find |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v14
WR Find
|
WR Find ( area ; aBuscar ; palabraComp ; mayus ; todoElDoc ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
area | Entero largo |
![]() |
Área 4D Write | |||||
aBuscar | Alfa |
![]() |
Cadena a buscar | |||||
palabraComp | Entero |
![]() |
0=parte de la palabra 1=toda la palabra | |||||
mayus | Entero |
![]() |
0=ignorar mayúsculas 1=tener en cuenta mayúsculas | |||||
todoElDoc | Entero |
![]() |
0=buscar después del punto de inserción 1=buscar en todo el documento | |||||
Resultado | Entero largo |
![]() |
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];*)
Producto: 4D Write
Tema: WR Gestión de texto
Número
89495
Creado por: 4D Write 6.5
4D Write - Lenguaje ( 4D Write v11.6)
4D Write - Lenguaje ( 4D Write v12)
4D Write - Lenguaje ( 4D Write v14)
4D Write - Lenguaje ( 4D v13)
4D Write - Lenguaje ( 4D Write v14 R2)
4D Write - Lenguaje ( 4D Write v14 R3)
4D Write - Lenguaje ( 4D Write v14 R4)