FoxPro/Visual FoxPro - como referirme a un "object" con una variable

 
Vista:

como referirme a un "object" con una variable

Publicado por andrescarlini (1 intervención) el 01/11/2006 15:25:29
Hola a todos...

Quisiera saber si es posible referirse a un Object por medio de una variable.

Ej.: para un Object llamado: Command1

en lugar de escribir Thisform.command1.setfocus

public m.Auxiliar as character

store command1 to m.Auxiliar

escribir Thisform.m.Auxiliar .setfocus

el problema que tengo es que me pone "miembro descoocido"

No se si esto es posible pero me vendria muy bien.

Gracias a todos!
Andres.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como referirme a un

Publicado por Juan Carlos (8 intervenciones) el 02/11/2006 16:31:01
Puedes hacerlo con macrosustituciones
Ejemplo:
Tienes en un formulario el botón Command1 y en el Caption del mismo tienes la palabra: "Aceptar"
Mediante MESSAGEBOX vamos a mostrar el Caption del botón con macrosustitución.

LOCAL cCad1, cCad2

cCad1 = "Command1."
cCad2 = "Command1"

=MESSAGEBOX( THISFORM.&cCad1.Caption )
=MESSAGEBOX( THISFORM.&cCad2..Caption )

Puedes usar cualquiera de las 2 formas, sólo ten en cuenta que en la macrosustitución Visual FoxPro obvia un punto en la cadena referenciada, entonces puedes incluir el punto en el nombre de objeto (como en cCad1) ó puedes colocarlo en la línea de macrosustitución (como en cCad2)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como referirme a un

Publicado por sergio (737 intervenciones) el 02/11/2006 20:21:09
La forma de referirse a un objeto es la siguiente

thisform.objeto.propiedad
thisform.objeto.metodo

mvariable= createobject('objeto')

if vartype('mvariabla')='O' esto lo que hace es preguntar si mvariable es un objeto

espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como referirme a un

Publicado por Julio Miranda (7 intervenciones) el 27/12/2006 19:42:42
MAS CODIGO DE EJEMPLO, observa como de un vector saco el nombre que debe coincidir con el caption del objeto al cual hago referencia es decir
OBJETO:
THISFORM.PgFr.Pg1.Pagos.VALUE
VARIABLE REFERENCIADA POR MACROSUSTITUCION:
saVector{1,1] = 'Pagos' && tambien puede ser -> saVector [1,1] = 'Pagos.'
lcCampo = saVector[1,1]
THISFORM.PgFr.Pg1.&lcCampo..VALUE ó
THISFORM.PgFr.Pg1.&lcCampo.VALUE
*----------------------------------------------------------------------------------------------*
* mxCargarScoring.
*----------------------------------------------------------------------------------------------*
LOCAL lmDatos, lnLongit, lcCampo, lo, j, i
lo = CREATEOBJECT('Scoring') &&Objeto de una clase'
DECLARE saVector[1]
lo.omDefinirVector(@saVector, 1) &&metodo de la clase
lmDatos = ALLTRIM(XC02DSCR.mDatos) &&campo Memo
lnLongit = LEN(lmDatos)
FOR i = 1 TO lnLongit
&¯osustitucion
lcCampo = saVector[i, 5 ]
j = VAL(SUBSTR(lmDatos, i, 1))
j = IIF(j < 0 .OR. j > 3, 0, j)
IF i <= 12
THISFORM.PgFr.Pg1.&lcCampo..VALUE = j
ELSE
THISFORM.PgFr.Pg2.&lcCampo..VALUE = j
ENDIF
NEXT
*
espero haberte ayudado , creo que esto es a lo que te referias
SALUDOS
JULIO MIRANDA SALAZAR (JMS) AREQUIPA-PERU
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar