AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de colas, pilas, listas y arrays / Funciones de arrays
  • WLanguage comparison Procedure
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Busca un elemento en un array WLanguage unidimensional utilizando un procedimiento de comparación.
Observación: Esta función es equivalente a la función SeekByProcedure.
Ejemplo
// Create an array of references
arrReference is array of strings
// Find a reference identified by its first 6 characters
nIndex is int
nIndex = ArraySeekByProcedure(arrReference, ProcCompareShortReference, ...
asLinear, 0, "123456")
 
// ProcCompareShortReference procedure
INTERNAL PROCEDURE ProcCompareShortReference(SoughtElement, Search)
// Compare the first 6 characters of the elements in the array
// with the sought reference
RESULT StringCompare(Left(SoughtElement, 6), Search)
END
Sintaxis
<Result> = ArraySeekByProcedure(<WLanguage array> , <WLanguage procedure> , <Type of search> [, <Start index> [, <Sought value 1> [... [, <Sought value N>]]]])
<Result>: Integro
Índice del elemento encontrado en la array.
<WLanguage array>: Array
Nombre de la Array Variable donde se realizará la búsqueda. Este array debe ser unidimensional.
<WLanguage procedure>: Nombre de Procedure
WLanguage comparison Procedure. Para obtener más información, consulte los comentarios.
<Type of search>: Constante de tipo Integer
Tipo de búsqueda que se realizará:
asBinaryBúsqueda binaria.
Este modo de búsqueda es rápido, pero debe utilizarse en un array ordenado de forma ascendente con el mismo comparison Procedure o con un Procedure equivalente (véase ArraySort).
asLinearBúsqueda lineal. Comienza la búsqueda:
  • desde el primer elemento si <índice inicial> es set a 0,
  • desde <índice de inicio>.
La búsqueda se detiene en cuanto se encuentra un elemento.
asLinearFirstBúsqueda lineal desde el primer elemento. <Índice de inicio> se ignora cuando se especifica esta constante.
asLinearLastBúsqueda lineal desde el último elemento. Esta constante no debe utilizarse si se especifica <índice de inicio>.
asLinearNextBúsqueda lineal del siguiente elemento. Esta búsqueda se realiza desde la posición actual (si <índice inicial> es set a 0) o desde la posición especificada por <índice inicial>.
asLinearPreviousBúsqueda lineal del elemento anterior. Esta búsqueda se realiza a partir de la posición actual o del valor de <índice inicial>.
<Start index>: Entero opcional
Posición de inicio de la búsqueda (sólo búsqueda lineal). Este parámetro no es necesario para una búsqueda binaria.
<Sought value 1>: Cualquier tipo
Valor del elemento buscado.
<Sought value N>: Cualquier tipo
Valor del elemento buscado.
Observaciones

WLanguage comparison Procedure

Esta comparison Procedure tiene el siguiente formato:
PROCEDURE <Procedure name>(<Element> , <Sought value 1> [, ... , [<Sought value N>]])
Este Procedure se llama tantas veces como sea necesario.
El primer parámetro de la Procedure corresponde al elemento array para comparar.
Los siguientes parámetros son los valores de búsqueda pasados como el parámetro a la función ArraySeekByProcedure.
La comparison Procedure debe devolver los siguientes valores:
  • Si el elemento array es demasiado pequeño en relación con los valores de búsqueda, el Procedure debe devolver -1.
  • Si el elemento array es demasiado grande en relación con los valores de búsqueda, el Procedure debe devolver 1.
  • Si el elemento array corresponde a los valores de búsqueda, el Procedure debe devolver 0.
Atención: para la búsqueda dicotómica, la comparison Procedure debe devolver los siguientes valores:
  • Si el elemento array es demasiado pequeño en relación con los valores de búsqueda, el Procedure debe devolver 1.
  • Si el elemento array es demasiado grande en relación con los valores de búsqueda, el Procedure debe devolver -1.
  • Si el elemento array corresponde a los valores de búsqueda, el Procedure debe devolver 0.
Componente: wd290vm.dll
Versión mínima requerida
  • Versión 17
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 15/07/2022

Señalar un error o enviar una sugerencia | Ayuda local