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
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.
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
-
- Mensajes: 13
- Registrado: Jue Feb 16, 2006 12:41 am
TOptionList
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
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