ASCAN()

Busca en un array por un valor o hasta que el block devuelva .T.

Syntax

ASCAN( <aDestino>, <xBuscar>,
[<nInicio>], [<nContador>] ) --> nParadoEn

Arguments

<aDestino> es el nombre del array a examinar

<xBuscar> es la expresión a encontrar en <aDestino>

<nInicio> es la posición a la cual comenzar la búsqueda

<nContador> es el número de elementos a examinar

Returns

ASCAN() retorna un valor numérico <nParadoEn>, de la posición donde <xBuscar> fué encontrada.

Description

Esta función examina el contenido de un array llamado <aDestino> en busca del valor de <xBuscar>. El valor devuelto es la posición en el array <aDestino> en el cual <xBuscar> fue encontrada. Si esta expresión no es encontrada el valor retornado es cero.

Si es especificada, la posición de inicio al cual comenzar la búsqueda puede ser establecida con el valor pasado en <nInicio>. Por defecto es uno.

Si es especificado, el número de elementos del array a examinar puede ser establecido con el valor pasado en <nContador>. Por defecto es el número total de elementos en el array <aDestino>.

Si <xBuscar> es un bloque de código, la operación de la función es ligeramente diferente. Cada referencia del subindice del array es pasada al bloque de código para ser evaluada. La rutina de búsqueda continuará hasta que el valor obtenido del bloque de código sea verdadero (.T.) ó hasta que el final del array haya sido alcanzado.
Examples
      *  El siguiente ejemplo utiliza una función de biblioteca para llenar
         el array aDir con los nombres de archivos en el directorio actual.
         Posteriormente, busca si entre ellos esta presente el archivo
         test.prg, devuelve cero si no esta, ó mayor de cero si está.

         LOCAL aDir := DIRECTORY( "*.*")
         ? ASCAN( aDir,,,{|x,y| x[1] == "test.prg" } )
Status

Ready

Compliance

Esta función no es compatible con CA-Clipper . La función ASCAN() de Clipper es afectada por la condición SET EXACT ON/OFF

Files

El código fuente está en arrays.c La librería asociada es vm

See Also