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