In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Ejemplo Reindex

Foro público de Xailer en español
Responder
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Ejemplo Reindex

Mensaje por jvtecheto »

Buenas tardes:

El ejemplo Reindex de DBFs. contiene un método que selecciona todos los elementos del Listbox.

es este:

METHOD btnTodosClick( oSender ) CLASS TFrmReindex

local aSel

with object ::olbFicheros
aSel := Array( Len( :aItems ) )
Aeval( aSel, {|v,j| aSel[ j ] := j } )
:SetSelItems( aSel )
end with

RETURN Nil

Entiendo todo solo me descoloca el parámetro del codeblock v , yo no veo que haga nada , sin embargo si lo quitas da error.
¿Alquien puede explicarme la tarea que desempeña ?

Supongo que será fácil de explicar para vosotros.

Os estoy muy agradecido.

Saludos.

Jose Vte.
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: Ejemplo Reindex

Mensaje por jfgimenez »

José Vicente,

v y j son los parámetros del codeblock. En este caso, la función AEval() ejecuta un codeblock pasándole como parámetros el elemento a tratar y la posición que ocupa en el array. Es decir, si p.ej. ponemos:

Código: Seleccionar todo

AEval( { "Uno", "Dos", "Tres" }, {| elemento, posicion | LogDebug( elemento, posicion ) } )
Lo que se mostrará en la ventana del debugger es:

Código: Seleccionar todo

Uno 1
Dos 2
Tres 3
Ahora bien, si quitas el primer parámetro del codeblock, es normal que te de error, porque entonces j sería el elemento, no la posición. Por eso tiene que estar v, aunque después no se use.
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jvtecheto
Mensajes: 127
Registrado: Jue Dic 19, 2013 1:18 pm

Re: Ejemplo Reindex

Mensaje por jvtecheto »

Jose:

Muchas gracias, no sabia que se podía pasar: elemento, posición.

Bufff.

Saludos.

Jose Vte.
Responder