FoxPro/Visual FoxPro - Usar campos con newobject

 
Vista:
sin imagen de perfil
Val: 15
Ha disminuido su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Foxadict (8 intervenciones) el 15/01/2019 13:33:24
¿ Como puedo usar un nombre almacenado en una tabla para usar con newobject() ?
¿ como puedo usar los campos de una tabla para asignarles propiedades a un objeto nuevo (top,left, ...etc)?

Muchas gracias.
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Leonardo Daniel A. (497 intervenciones) el 16/01/2019 01:11:07
thisform.tuObjeto.Propiedad = algo


nombre almacenado de una tabla ? nombre de la tabla? nombre del campo ? y para que quieres newobject ??


en youtube hay tutoriales de Visual FoxPro
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
sin imagen de perfil
Val: 15
Ha disminuido su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Foxadict (8 intervenciones) el 16/01/2019 12:59:15
Gracias por ayudarme Leonardo Daniel.

Si, en internet tenemos muchos tutoriales, y los busco con frecuencia, pero con las clases siempre me lio.
No es por no molestarme en buscar.

En el init del formulario quiero crear tantas clases como tenga archivadas en una tabla; por ejemplo tengo 5 registros (con los campos: nombre, top, left, color, ... etc) de textbox y cuando cargue el formulario crear esos 5 textbox con esas características almacenadas; pero no soy capaz que al crear el objeto me use ese nombre de objeto archivado en la tabla.

Perdona que te líe y gracias por tu tiempo.
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Fidel José (657 intervenciones) el 16/01/2019 16:22:58
1
2
3
4
5
6
7
8
9
lcTabla = (Nombre de la tabla o cursor)
 
lcNameObject = TRIM(Tabla.nombre)
Thisform.newobject(m.lcNameObject,"Textbox")
with thisform.&lcNameObject
        .Top = evaluate(lcTabla+".top")
        .Left = evaluate(lcTabla+".left)
        .Visible = .T.
endwith
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
sin imagen de perfil
Val: 15
Ha disminuido su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Foxadict (8 intervenciones) el 17/01/2019 13:55:05
Gracias Fidel Jose ... tu código me funciona correctamente.
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Leonardo Daniel A. (497 intervenciones) el 16/01/2019 17:51:12
Pero sigo sin entender porque quieres hacer eso ??? porque crearlo en tiempo de ejecucion ?

no es mas facil crear una libreria de clases, con tus objetos, textbox, combobox, etc. con las propiedades que necesitas.. y cuando diseñas la tabla ahi puedes asignar la libreria de clases y seleccionar el objeto que le quieres asignar al campo, y cuando generes el form...te asigna esa clase... y si modificas la clase padre, se modifican todas las demas instancias... cuando programaba en Vfox.. me cree mis propias clases de los componentes, incluso puse una propiedad llamada Editable que por default la tenia en .F. y cuando daba al boton editar, activaba todos los componentes que tenian Editable = .T. y un formulario padre que se encargaba de guardar la informacion, asi como una barra de navegacion... y cuando programas con POO si necesitas modificar el comportamiento de un metodo ya escrito, pues lo reescribes y si necesitas llamar al metodo original tambien se puede....



1
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
sin imagen de perfil
Val: 15
Ha disminuido su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Foxadict (8 intervenciones) el 16/01/2019 19:29:23
Porque cada usuario tendrá en su formulario los objetos que quiera (1,2,20,...)y cada objeto tendrá sus propias características y posición en el form.



Muchas gracias por tu ayuda.
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
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Abel (286 intervenciones) el 16/01/2019 14:24:46
Por favor se un poco más específico; ¿que tipo de Objeto nuevo deseas crear? y ¿que datos tienes en la tabla que mencionas que influirá en dicho nuevo objeto?
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Leonardo Daniel A. (497 intervenciones) el 17/01/2019 05:41:05
Hola de nuevo... hice algunas pruebas... talvez con MacroSubstitucion & puedas lograrlo


1
2
3
4
5
6
_nombre = "miTexto1"
_comando = "_screen.NewObject(_nombre, 'textbox')"
_objeto = &_comando
 
_comando2 = "_screen."+_nombre+".visible = .t."
&_comando2


crear el _comando para crear el objeto basado en la variable nombre (este seria el nombre)
y luego en _objeto creas el objeto mediante macrosubstitucion

luego creas otra variable que seria _comando2 donde vas a especificar la propiedad que quieres modificar
y luego ejecutas ese "comando" con &_comando2 no tienes que crear _comando3, 4, etc... puedes usar la misma variable e irle cambiando la propiedad a modificar y mandar llamarlo con &_comando2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 15
Ha disminuido su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Usar campos con newobject

Publicado por Foxadict (8 intervenciones) el 17/01/2019 13:57:19
Muchas gracias a todos x vuestra ayuda !!!!!!
El código de Fidel Jose funciona correctamente.
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