Página 1 de 1

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 7:48 pm
por Vladimir Zorrilla LLe
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

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 8:00 pm
por Xevi
Vladimir,
AEval es más rápido que FOR...NEXT
AEval( aDbf, {|x| x[3] := Val(x[3]) } )
Un Saludo,
Xevi.
"Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
news:[email=4411c9f9@ozsrvnegro.ozlan.local...]4411c9f9@ozsrvnegro.ozlan.local...[/email]
> 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
>
>

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 8:04 pm
por Xevi
Vladimir,
te recomiendo su lectura,
http://cosadenegro.blogspot.com/2005/02 ... on-ii-arra ys.html
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=4411ccb6@ozsrvnegro.ozlan.local...]4411ccb6@ozsrvnegro.ozlan.local...[/email]
> Vladimir,
>
> AEval es más rápido que FOR...NEXT
>
> AEval( aDbf, {|x| x[3] := Val(x[3]) } )
>
>
> Un Saludo,
> Xevi.
>
>
> "Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
> news:[email=4411c9f9@ozsrvnegro.ozlan.local...]4411c9f9@ozsrvnegro.ozlan.local...[/email]
>> 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
>>
>>
>
>

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 8:09 pm
por Xevi
Perdón...
http://cosadenegro.blogspot.com/2005/03 ... n-v-for-ea ch.html
Aunque TODO ese blog es para su imprescindible lectura!!!
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:4411cdb8$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Vladimir,
>
> te recomiendo su lectura,
> http://cosadenegro.blogspot.com/2005/02 ... on-ii-arra ys.html
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:[email=4411ccb6@ozsrvnegro.ozlan.local...]4411ccb6@ozsrvnegro.ozlan.local...[/email]
>> Vladimir,
>>
>> AEval es más rápido que FOR...NEXT
>>
>> AEval( aDbf, {|x| x[3] := Val(x[3]) } )
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
>> news:[email=4411c9f9@ozsrvnegro.ozlan.local...]4411c9f9@ozsrvnegro.ozlan.local...[/email]
>>> 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
>>>
>>>
>>
>>
>
>

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 8:58 pm
por Vladimir Zorrilla LLe
nunca he usado For each
como seria el codigo
Gracias
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:4411cdb8$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Vladimir,
>
> te recomiendo su lectura,
> http://cosadenegro.blogspot.com/2005/02 ... on-ii-arra ys.html
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:[email=4411ccb6@ozsrvnegro.ozlan.local...]4411ccb6@ozsrvnegro.ozlan.local...[/email]
>> Vladimir,
>>
>> AEval es más rápido que FOR...NEXT
>>
>> AEval( aDbf, {|x| x[3] := Val(x[3]) } )
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
>> news:[email=4411c9f9@ozsrvnegro.ozlan.local...]4411c9f9@ozsrvnegro.ozlan.local...[/email]
>>> 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
>>>
>>>
>>
>>
>
>

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 9:30 pm
por Xevi
Vladimir
No lo he utilizado, todavía, pero...
Creo que sería así.
for each x in aDbf
aDbf[x,3] := Val(aDbf[x,3] )
next
Prueba y me cuentas.
Un Saludo,
Xevi.
"Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
news:4411da7c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> nunca he usado For each
> como seria el codigo
>
> Gracias
>
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:4411cdb8$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Vladimir,
>>
>> te recomiendo su lectura,
>> http://cosadenegro.blogspot.com/2005/02 ... on-ii-arra ys.html
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:[email=4411ccb6@ozsrvnegro.ozlan.local...]4411ccb6@ozsrvnegro.ozlan.local...[/email]
>>> Vladimir,
>>>
>>> AEval es más rápido que FOR...NEXT
>>>
>>> AEval( aDbf, {|x| x[3] := Val(x[3]) } )
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
>>> news:[email=4411c9f9@ozsrvnegro.ozlan.local...]4411c9f9@ozsrvnegro.ozlan.local...[/email]
>>>> 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
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Como recorrer mas rapido un arreglo

Publicado: Vie Mar 10, 2006 10:03 pm
por Xevi
Perdón...
Me ha dado por probar FOR EACH...
aTemp := { {,,"1"}, {,,"2"}, {,,"55"} }
for each x in aTemp
x[3] := Val( x[3] )
MSGINFO( x[3] )
next
Creo que así es como se optimiza este código con FOR EACH...
for each x in aDbf
x[3] := Val( x[3] )
next
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:4411e1e1$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Vladimir
>
> No lo he utilizado, todavía, pero...
> Creo que sería así.
>
> for each x in aDbf
> aDbf[x,3] := Val(aDbf[x,3] )
> next
>
> Prueba y me cuentas.
>
> Un Saludo,
> Xevi.
>
>
> "Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el mensaje
> news:4411da7c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> nunca he usado For each
>> como seria el codigo
>>
>> Gracias
>>
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:4411cdb8$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Vladimir,
>>>
>>> te recomiendo su lectura,
>>> http://cosadenegro.blogspot.com/2005/02 ... on-ii-arra ys.html
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>>> news:[email=4411ccb6@ozsrvnegro.ozlan.local...]4411ccb6@ozsrvnegro.ozlan.local...[/email]
>>>> Vladimir,
>>>>
>>>> AEval es más rápido que FOR...NEXT
>>>>
>>>> AEval( aDbf, {|x| x[3] := Val(x[3]) } )
>>>>
>>>>
>>>> Un Saludo,
>>>> Xevi.
>>>>
>>>>
>>>> "Vladimir Zorrilla Llerena" <cps_net@hotmail.com> escribió en el
>>>> mensaje news:[email=4411c9f9@ozsrvnegro.ozlan.local...]4411c9f9@ozsrvnegro.ozlan.local...[/email]
>>>>> 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
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Como recorrer mas rapido un arreglo

Publicado: Mar Mar 14, 2006 9:06 am
por joseluis
Vladimir,
Mira en www.capelblog.com donde (en alguno de los artí­culos antiguos)
explico algunas de las extensiones de xHarbour (entre ellas el FOR/EACH).
Saludos,
José Luis Capel
Vladimir Zorrilla Llerena escribió:
> 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
>
>