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.

Puedo entonces referirme a los objetos con sentencias Macro

Foro público de Xailer en español
Responder
correo
Mensajes: 109
Registrado: Mar Nov 22, 2005 7:15 pm

Puedo entonces referirme a los objetos con sentencias Macro

Mensaje por correo »

Puesto que el Ide no permite generar nombres de objetos en array ,puedo en
un proceso (como un for->next ) referirme a los objetos através de una
sentencia macro ??
Ejemplo
::&("oLabel"+str(nK,1)) :cText
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Puedo entonces referirme a los objetos con sentencias Macro

Mensaje por jfgimenez »

Juan José,
> Puesto que el Ide no permite generar nombres de objetos en array ,puedo en
> un proceso (como un for->next ) referirme a los objetos através de una
> sentencia macro ??
>
> Ejemplo
> ::&("oLabel"+str(nK,1)) :cText
Hay una forma más sencilla y rápida: la función __ObjSendMsg(). P.ej:
MsgInfo( __ObjSendMsg( Self, "oLabel" + Str( n, 1 ) ):cText )
o:
__ObjSendMsg( Self, "oLabel" + Str( n, 1 ) ):cText := "Label " + Str( n,
1 )
Y por supuesto, nada te impide añadir una DATA al formulario y poner en el
evento OnInitialize del formulario algo así, para después acceder a los
controles que necesites con un array:
DATA aLabels
...
::aLabels := { ::oLabel1, ::oLabel2, ::oLabel3 }
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Puedo entonces referirme a los objetos con sentencias Macro

Mensaje por Xevi »

Jose,
Otra cosa que he aprendido...
Ya lo he implementado... y me he ahorrado algun que otro array.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:43836807$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Juan José,
>
>> Puesto que el Ide no permite generar nombres de objetos en array ,puedo
>> en un proceso (como un for->next ) referirme a los objetos através de
>> una sentencia macro ??
>>
>> Ejemplo
>> ::&("oLabel"+str(nK,1)) :cText
>
> Hay una forma más sencilla y rápida: la función __ObjSendMsg(). P.ej:
>
> MsgInfo( __ObjSendMsg( Self, "oLabel" + Str( n, 1 ) ):cText )
> o:
> __ObjSendMsg( Self, "oLabel" + Str( n, 1 ) ):cText := "Label " + Str(
> n, 1 )
>
> Y por supuesto, nada te impide añadir una DATA al formulario y poner en el
> evento OnInitialize del formulario algo así, para después acceder a los
> controles que necesites con un array:
>
> DATA aLabels
> ...
> ::aLabels := { ::oLabel1, ::oLabel2, ::oLabel3 }
>
>
> --
> Un saludo,
>
> José F. Giménez
>
>
Responder