Page 1 of 1

Busar en un array y que devuelva la posicion

Posted: Mon Apr 25, 2016 12:28 pm
by Loren
compañeros, Buenas:

¿Existe algún comando que busca una palabra en un array y que devuelva la posición donde lo encontró?

Ejemplo:
Tengo el siguiente array: {'CADIZ','MALAGA','SEVILLA','HUELVA','CORDOBA'}
y necesito que al buscar 'SEVILLA' me devuelva 3 (que es la posición dentro del array).

Gracias.
Un saludo.
LORENZO.
Desde Cádiz, ESpaña.

Re: Busar en un array y que devuelva la posicion

Posted: Mon Apr 25, 2016 12:51 pm
by leandro
Se me ocurre lo siguiente:

Code: Select all

Function BuscaArray()
Local array:={'CADIZ','MALAGA','SEVILLA','HUELVA','CORDOBA'}
Local variable:='SEVILLA'
Local posicion:=0

for i:=1 to len(array)
  if variable=array[i]
     posicion:=i
  endif
next
Return posicion
 
Saludos

Re: Busar en un array y que devuelva la posicion

Posted: Mon Apr 25, 2016 1:05 pm
by cnavarro
Quizás esta funcion te sirva

AScan(<aTargets>, <expSearch>, [<nStart>], [<nCount>],[<lExact>], [<lASCII>]) -> nStoppedAt

Re: Busar en un array y que devuelva la posicion

Posted: Mon Apr 25, 2016 3:26 pm
by FranciscoA
Otro ejemplo sencillo: Ascan devuelve la posicion del elemento, si lo encuentra. Caso contrario devuelve 0.
Local array:={'CADIZ','MALAGA','SEVILLA','HUELVA','CORDOBA'}, cVariable:="SEVILLA"
nPos := Ascan(array,cVariable)