FoxPro/Visual FoxPro - Ayuda con Propiedades

 
Vista:

Ayuda con Propiedades

Publicado por Oscar (6 intervenciones) el 10/07/2003 20:57:27
tengo un form donde establezco una propiedad llamada filtro
thisform.filtro = ''
esta propiedad pasara como parametro a una funcion y obtendra un valor
en fox 2.6 se hacia asi
= miFuncion (parametro1, parametro2, @filtro)
entonces la variable filtro tomaba el valor resultante de la funcion o cualquier valor que se asigne en la funcion

como hago es en visual ?????
les agradeceria que me ayuden con eso, me rompo la cabeza y nada de nada
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

RE:Ayuda con Propiedades

Publicado por Roman Suazo (2723 intervenciones) el 10/07/2003 22:43:18
Pon esto en un prg y checa el codigo:

variables=5
frmMiForm = CREATEOBJECT("Formas", variables)
frmMiForm.SHOW()

DEFINE CLASS "Formas" AS FORM
propiedad=0
PROCEDURE metodo
PARAMETERS variable
LOCAL mensaje
mensaje='Esta es la variable que se envio '+STR(variable)
=MESSAGEBOX(mensaje,32,mensaje)
THISFORM.propiedad=variable+1
MESSAGEBOX("valor propiedad es "+STR(THISFORM.propiedad),32)
ENDPROC

PROCEDURE INIT
PARAMETERS ivariable
THISFORM.propiedad=ivariable
THISFORM.metodo(THISFORM.propiedad)
ENDPROC

ENDDEFINE

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:Ayuda con Propiedades

Publicado por oscar (6 intervenciones) el 11/07/2003 16:59:42
entendido pero no es exactamente lo que necesito
me interesa lo siguiente
antes que nada has utilizado el operador @ ?
prueba este programa
var = 10
= mf (var)
?var
= mf (@var)
?var
return

function mf
parameters var
var = var + 1
return

si te das cuenta en la primera llamada a la funcion la variable var entra con valor 10, en la funcion se cambia a 11 pero cuando sale de la funcion retoma su valor a 10
en el segundo caso utilizando el operador @, la variable var toma el valor 11 y se mantiene con ese valor cuando sale de la funcion

como hago eso con las propiedades del metodo
se puede ?

gracias
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:Ayuda con Propiedades

Publicado por Roman Suazo (2723 intervenciones) el 11/07/2003 18:09:28
Precisamente como tu quieres no se, aunque a lo mejor no se puede.
Las propiedades no es lo mismo que uan variable, Tal vez si se puedieran usar punteros en Fox se podria hacer lo que tu quieres

De todas maneras, no es necesario en tu caso:

1- la propiedad esta accesible al metodo sin necesidad de mandarla
como parametro.

2- podrias hacer esto:

thisform.propiedad=thisform.metodo(thisform.propiedad)

donde el metodo devolveria un valor con el RETURN.

3- Tambien podrias hacer algo como esto:

Asi llamas al metodo:
thisform.metodo('thisform.variable')

el codigo del metodo:

parameters varia
local ejectar,numero

numero=1

ejecutar=varia+"="+varia+'+'+str(numero)
&ejecutar


Saludos


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:Ayuda con Propiedades

Publicado por oscar (6 intervenciones) el 11/07/2003 19:39:21
nada no funciona me sale un mensaje que dice
el objeto no esta contenido en un form

y ya he revisado que la propiedad este en el form
que puede estar pasando

ojo la funcion en la cual pretendo cambiar el valor de la propiedad esta en una libreria o un archivo de procedimiento
eso tiene algo que ver ?
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:Ayuda con Propiedades

Publicado por Roman Suazo (2723 intervenciones) el 11/07/2003 20:17:13
Bueno, los ejemplos que te di se aplican para metodos dentro de una forma. Por lo tanto, el THISFORM, te tiene que estar dando problemas.
tendrias que usar el nombre de la forma para que te corra.

Para el ejemplo 2 deberia ser algo asi (siempre dentro del metoto o evento de una forma).

variable=thisform.propiedad
thisform.propiedad=MiFuncion(variable)

&&lo mas seguro es que funciona pasando la propiedad sin
&& necesidad de la variable

Para el ejemplo 3:

Asi llamas a la funcion:
=Mifuncion('Miforma.variable')

el codigo de la funcion:

parameters varia
local ejectar,numero

numero=1

ejecutar=varia+"="+varia+'+'+str(numero)
&ejecutar

Si algo sale mal me avisas
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:Ayuda con Propiedades

Publicado por Roman Suazo (2723 intervenciones) el 12/07/2003 20:26:57
Posiblemente otro error es que todavia sigas poniendo el codigo en
el INIT de la forma, en ese momento se podria decir que el objeto
forma no ha sido creado, por lo tanto no puede ser visto desde tu
funcion. Ponlo en otro evento o metodo que ocurra despues del INIT.
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