|
|
|
|
- WLanguage comparison Procedure
ArraySeekByProcedure (Función) Busca un elemento en un array WLanguage unidimensional utilizando un procedimiento de comparación.
// 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á:
| | asBinary | Bú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). | asLinear | Bú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. | asLinearFirst | Búsqueda lineal desde el primer elemento. <Índice de inicio> se ignora cuando se especifica esta constante. | asLinearLast | Búsqueda lineal desde el último elemento. Esta constante no debe utilizarse si se especifica <índice de inicio>. | asLinearNext | Bú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>. | asLinearPrevious | Bú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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|