Como recorrer mas rapido un arreglo

Post Reply
Vladimir Zorrilla
Posts: 225
Joined: Tue Feb 28, 2006 4:25 pm
Location: PERU

Como recorrer mas rapido un arreglo

Post 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
ME INTERESA FW Y XHB POR SER OPEN SOURCE
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Re: Como recorrer mas rapido un arreglo

Post 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.
William, Morales
Saludos

méxico.sureste
manuramos
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Post 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
Nos Gusta Programar
Post Reply