Autor Tema: Ayuda con el Foxito  (Leído 4952 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Ayuda con el Foxito
« : enero 13, 2006, 04:58:03 pm »
Vamos a ver a todo aquel que me pueda ayudar la situacion es la siguiente

En fox estoy creando unos objetos "LINE" linea pues entonces lo que yo quiero hacer es que el usuario cuando presione un boton de comando cree una linea la cuestion es que esto debe ser en tiempo de ejecucion y el puede crear cuantas lineas desee::

Lo que he hecho es lo siguiente::

En el Init del Form he definido una variable publica que se llama contador

Contador=0

En un boton en el mismo form se hace lo siguiente en el Evento Click

Contador=Contador+1
THISFORM.CREATOR                   *** 'CREATOR'------> UN PROCEDIMIENTO CREADO POR MI

EN el procedimiento creator del form que he creado existe el siguiente codigo::

NOMBRE='LINE'+ALLTRIM(STR(CONTADOR))
THISFORMSET.FORM2.ADDOBJECT (NOMBRE,'LINE')

hasta aqui todo cachimbon pero aqui viene lo huevudo::

cuando creas un objeto como una linea en tiempo de ejecucion por defecto la propiedad Visible esta estableciada a falso .F. para que el usuario no vea los cambios que le podes dar al objeto pero en mi caso yo no se cuantas veces el usurio pedira o clikara sobre el boton ni cuantas lineas habran en el form la unica forma de saberlo es mediante la variable contador que tengo el problema es que si yo hago lo siguiente por ejemplo me da un error::

THISFORM.LINE1.VISIBLE=.T.------------------------> Seria lo correcto pero esto solo aplicaria para el objeto LINE1 y para los demas que el usuario vaya creando ya no la podre utilizar en tiempo de ejecucion pues lo unico que se me ocurria era lo siguiente::

THISFORM.NOMBRE.VISIBLE=.T. -----------------------> Pero resulta que Nombre no lo reconoce como variable si no que como nombre de objeto por lo tanto me dice que el objeto nombre es desconocido en todo caso esto me indica que no puede utilizar mi contador para saber a que linea se le aplicaran las propiedades a las que hago referencia en ese momento si alguien sabe como se hace referencia a un objeto mediante esa variable que esta cambiando cada vez que el usuario da un click que me ayude por que ya me di verga y me he quedado estancado ahi........si no me explique bien solo preguntenme que no me entienden

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: Ayuda con el Foxito
« Respuesta #1 : enero 14, 2006, 08:44:55 am »
p$$ta ya la cague nadie sabe nadie supo.....jajaja hey ayudenme mara estoy estancado :phew:

sicario

  • Visitante
Re: Ayuda con el Foxito
« Respuesta #2 : enero 14, 2006, 09:53:59 am »
Hey viejito, por lo leo tu gran problema es que no podes asociar, la variable contador, a los posibles objetos line que el usuario cree. Si eso es asi, lo podemos solventar creando el objeto pero como un array, de tal forma que quedaria algo asi.

El objeto tedria el mismo nombre y solo lo identificaremos por el indice en particular del array

ej. line1(0)
    line1(2)
    line1(3)
Donde lo que va encerrado en parentesis ira cambiando segun tenga el valor asignado en la variable CONTADOR.

No se si me explico, seria interesante saber de cuanto tiempo dispones porque te puedo mandar mas tardecito un ejemplo de como hacerlo.

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: Ayuda con el Foxito
« Respuesta #3 : enero 14, 2006, 10:22:14 am »
Hey viejito, por lo leo tu gran problema es que no podes asociar, la variable contador, a los posibles objetos line que el usuario cree. Si eso es asi, lo podemos solventar creando el objeto pero como un array, de tal forma que quedaria algo asi.

El objeto tedria el mismo nombre y solo lo identificaremos por el indice en particular del array

ej. line1(0)
    line1(2)
    line1(3)
Donde lo que va encerrado en parentesis ira cambiando segun tenga el valor asignado en la variable CONTADOR.

No se si me explico, seria interesante saber de cuanto tiempo dispones porque te puedo mandar mas tardecito un ejemplo de como hacerlo.

es una excelentisima idea......que bien si me haces el paro de enviarme el ejemplo te lo agradeceria infinitamente aunque ya mas o menos te entendi el trukito lo que no me queda claro es lo siguiente

Cuando decis Line1(1) por ejemplo ese seria el nombre del objeto, cuando quiera llamar al las propiedades del objeto como lo tendria que llamar por ejemplo::

Thisform.Line1(1).Visible=.T.------------> O me equivoco??

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ayuda con el Foxito
« Respuesta #4 : enero 14, 2006, 12:34:03 pm »
hey man disculpa que no me habia dado cuenta de esta onda no se como se me quedo marcada como leida y por hacer el tuto lo pase por alto :S hasta ahorita que regrese lo vi.

Mira man una de estas 3 te tiene que solucionar tu problema , el setall , te sirve para ponerle propiedades a todos los objetos de un tipo , lo que le mandas como tercer parametro es el tipo base del objeto , en tu caso creo que el tipo de objeto es el base , se ocupa por ejemplo de esta manera

Thisform.c.setall("Enabled",.f.,"Textbox") (En donde c es un contenedor, a todos los objetos que se encuentran en el contenedor y que son de tipo textbox los desactiva)

Si el objeto es de tipo Line te deberia de funcionar la linea de abajo.

Thisform.setall("Visible",.t.,"Line")

Thisform.setall("Visible",.t.,"?Nombre")

En algunas ocasiones poniendole el ? antes de una varialbe hace que este se reconozca como variable Thisform.?Nombre.visible=.t.

Avisame si te sirvio y te sigo ayudando , me gustaria ver el codigo que llevar para trabajarle y ayudarte mejor.

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: Ayuda con el Foxito
« Respuesta #5 : enero 14, 2006, 12:41:07 pm »
hey man disculpa que no me habia dado cuenta de esta onda no se como se me quedo marcada como leida y por hacer el tuto lo pase por alto :S hasta ahorita que regrese lo vi.

Mira man una de estas 3 te tiene que solucionar tu problema , el setall , te sirve para ponerle propiedades a todos los objetos de un tipo , lo que le mandas como tercer parametro es el tipo base del objeto , en tu caso creo que el tipo de objeto es el base , se ocupa por ejemplo de esta manera

Thisform.c.setall("Enabled",.f.,"Textbox") (En donde c es un contenedor, a todos los objetos que se encuentran en el contenedor y que son de tipo textbox los desactiva)

Si el objeto es de tipo Line te deberia de funcionar la linea de abajo.

Thisform.setall("Visible",.t.,"Line")

Thisform.setall("Visible",.t.,"?Nombre")

En algunas ocasiones poniendole el ? antes de una varialbe hace que este se reconozca como variable Thisform.?Nombre.visible=.t.

Avisame si te sirvio y te sigo ayudando , me gustaria ver el codigo que llevar para trabajarle y ayudarte mejor.

Grcias amigo::

haber el primero lo descarto totalmente por que lo que hace es que le establece las mismas propiedades a todos lo s objetos de la calase en todo caso sucederia esto:: todos los objetos de la clase LINE  tendrian las mismas propiedades no se si me equivoco y con el segundo dejame ver ahorita te respondo....


Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: Ayuda con el Foxito
« Respuesta #6 : enero 14, 2006, 12:45:25 pm »
A sido probada la opcion dos de utilizar Thisform.?Nombre.visible=.t. y no funciona dice que no se reconoce el verbo del comando....

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Ayuda con el Foxito
« Respuesta #7 : enero 14, 2006, 06:20:42 pm »
para que te reconozca la variable nombre simplemente ponela asi (nombre)

thisform.(nombre).visible=.t. y listo  :thumbsup:

sorry viejo que no me acorde antes pero vos comprenderas la falta de uso hace que uno se olvide , basta con revisar de nuevo mis cuadernos (gracias a Dios los encontre) y ahi tenia estas cosas  :thumbsup:
« Última Modificación: enero 14, 2006, 06:25:04 pm por rdoggsv »

Desconectado kerberoz

  • The Communiter-
  • *
  • Mensajes: 3713
Re: Ayuda con el Foxito
« Respuesta #8 : enero 15, 2006, 07:53:50 am »
Y en este caso no se puede usar la funcion eval() igual como se hace en javascript  :huh:, fox tambien tiene esta funcion, nunca la he probado talvez sean similares.
El aguinaldo es un invento comunista; pero eso no te molesta, ¿Verdad?