Page 1 of 1

Como recorrer mas rapido un arreglo

Posted: Fri Mar 10, 2006 6:38 pm
by Vladimir Zorrilla
Estimados amigos uso xharbour

Tenemos un arreglo de 2 dimensiones adbf

Quiere solo recorrer la columna 3 y cambiarla a numerica

For Fila=1 to len(aDbf)
aDbf[Fila,3]:=val(aDbf[Fila,3] )
Next Fila

Esto se puede hacer mas rapido con AEVAL y en todo
caso como serie el codigo


O es q para q sea mas rapido hay q usea FOR EACH y como
se haria en este caso

Re: Como recorrer mas rapido un arreglo

Posted: Sat Mar 11, 2006 1:42 am
by wmormar
Vladimir Zorrilla wrote:Estimados amigos uso xharbour

Tenemos un arreglo de 2 dimensiones adbf

Quiere solo recorrer la columna 3 y cambiarla a numerica

For Fila=1 to len(aDbf)
aDbf[Fila,3]:=val(aDbf[Fila,3] )
Next Fila

Esto se puede hacer mas rapido con AEVAL y en todo
caso como serie el codigo


O es q para q sea mas rapido hay q usea FOR EACH y como
se haria en este caso
Vladimir,

aPos := NIL
FOR EACH aPos IN aDbf
aPos[3] := VAL(aPos[3])
NEXT

De las extensiones de xHarbour.

Posted: Tue Mar 14, 2006 7:34 pm
by manuramos
El AEVAL sería así:

AEVAL(aDbf,{ |v,i| aDbf[i,3] := Val(v[3])}) // "i" es Indice y "v" es Valor, para cada elemento evaluado.

En cuanto a la velocidad, AEVAL es más rápido que FOR...NEXT pero desconozco si es más mejor que FOR EACH.

Un saludo