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.

TOptionList

Foro público de Xailer en español
Responder
Xailer Noticias
Mensajes: 13
Registrado: Jue Feb 16, 2006 12:41 am

TOptionList

Mensaje por Xailer Noticias »

Quisiera saber como es posible seleccional un Item dentro de las TOptionList
mediante programacion, o sea en modo de ejecucion, quiero que al dar click
en un elemento me pase el contenido hacia un TEdit.
WITH OBJECT ::oOptList
oItems_Grupo1 := :AddItem("Todos Los Ficheros",1,otCHECK,.t.,.T.,.F.,.t.,.t.,.t.
)
For n := 1 to LEN(:aItems)
For i := 1 To Len(aFiles)
oItems_SubGrupo1 := oItems_Grupo1:AddItem(aFiles,1,otCHECK,.t.,.T.,.F.,.t.,.t .,.t.
)
*:lExpanded := .T.
NEXT
NEXT
aEval( :aItems, {| oItem,I | oItem:OnClick := {|oSender|msginfo(oItems_Grupo1:cText)}
} )
END WITH
WITH OBJECT oItems_Grupo1
AEval( :aItems, {|cT,nIndex| cT:OnClick := {|o,i| If(oItems_SubGrupo1:aItems:lChecked,
msginfo(oItems_SubGrupo1:aItems:cText),)} } )
END WITH
GRacias
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

TOptionList

Mensaje por jfgimenez »

Carlos,
no entiendo lo que quieres decir, lo siento. Intenta explicarte mejor.
> WITH OBJECT oItems_Grupo1
> AEval( :aItems, {|cT,nIndex| cT:OnClick := {|o,i|
> If(oItems_SubGrupo1:aItems:lChecked,
> msginfo(oItems_SubGrupo1:aItems:cText),)} } )
>
> END WITH
Quizás el problema que tienes tenga que ver con el código anterior. No se
pueden crear bloques de código directamente dentro de un bucle usando el
índice de ese bucle. Es el eterno problema de las "detached locals". Para
evitarlo, tienes que crear el bloque de código en un función aparte, a la
que llamas desde el bucle. Sería algo así:
....
AEval( :aItems, {|cT,nIndex| cT:OnClick := CrearCodeBlock( oItems_SubGrupo1,
i } )
....
FUNCTION CrearCodeBlock( oGrupo, i )
RETURN If(oGrupo:aItems:lChecked, msginfo(oGrupo:aItems:cText),)}
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder