retorno de datos de un formulario

183 views
Skip to first unread message

Arnaldo Toledano (GMail)

unread,
Feb 17, 2011, 3:57:38 PM2/17/11
to publice...@googlegroups.com
Estimados.
 
Cuando necesito que un formulario (window type=1 Modal), me devuelva un dato procedo de la siguiente manera.
Do Form Proce_datos_XX Whit  Para1, Para2,.....,Para n  To Devuelve
 
En el formulario realizo lo siguiente.
INIT
Parameters pa1, pa2,pan
PUBLIC VOLVER      * *correcto     (esta es la variable que contendra el dato a devolver)
Private VOLVER        * * Incorrecto ( si pongo asi, NO ME DEVUELVE NADA)
 
En algun lugar tengo un proceso que me trasfiere el dato a volver, supongamos.
Vover=Thisform.tex_1.value + thisform.tex_2.value ..... etc, etc.
 
UNLOAD
Return Volver
 
Existe alguna manera menos complicada ?
Porque despues tengo que andar dando de baja las variables publicas.
 
Arnaldo Toledano
Córdoba
Argentina

Miguel Canchas

unread,
Feb 17, 2011, 3:59:21 PM2/17/11
to publice...@googlegroups.com

Podrias hacerlo con una clase o quizás con un cursor simple…

 

MK

Yvan GMAIL

unread,
Feb 17, 2011, 3:59:46 PM2/17/11
to publice...@googlegroups.com

Para estos casos yo me creo una propiedad al formulario y tendria:

 

Thisform.Vover=Thisform.tex_1.value + thisform.tex_2.value

 

Y lo retornarias

 

Return Thisform.Volver

 

 

 

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Arnaldo Toledano (GMail)
Enviado el: Jueves, 17 de Febrero de 2011 03:58 p.m.
Para: publice...@googlegroups.com
Asunto: [vfp] retorno de datos de un formulario

 

Estimados.

Arnaldo Toledano (GMail)

unread,
Feb 17, 2011, 4:04:00 PM2/17/11
to publice...@googlegroups.com
no me funciona
Lo pense asi,
pero no me funciona
 
Arnaldo

Yvan GMAIL

unread,
Feb 17, 2011, 4:09:11 PM2/17/11
to publice...@googlegroups.com

1.      Formulario que hace el return debe ser modal

2.      En el evento init, inicializo la variable, Thisform.Valor = 0.. por si  nunca llega a realizar el calculo.

3.      En mi boton o lo que sea asigno el valor.. Thisform.Valor = 80

4.      En el unload lo retoro Return Thisform.Valor

5.      En el form que invoco lo llamo y recibo

DO FORM Fmodal With “X”,”Y” To Valor_Retornado

Darío Castillejos

unread,
Feb 17, 2011, 4:12:28 PM2/17/11
to publice...@googlegroups.com

 

Crea propiedades en tu primer formulario y asígnales valor desde el segundo formulario.

Con esto te quitas de pasar y/o recibir parámetros ó andar liberando variables públicas.

 

 

Saludos.

 


De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de Arnaldo Toledano (GMail)
Enviado el: jueves, 17 de febrero de 2011 02:58 p.m.
Para: publice...@googlegroups.com
Asunto: [vfp] retorno de datos de un formulario

 

Estimados.

Maggi Fretes

unread,
Feb 17, 2011, 4:22:49 PM2/17/11
to publice...@googlegroups.com
Hola Arnaldo....si hay una forma menos complicada......declara variables publicas en tu programa principal....esas variables utilizas en el formulario que queres utilizar sus datos, luego pones como value la variable publica con su valor....espero sea clara mi explicacion...


From: yvan.c...@gmail.com
To: publice...@googlegroups.com

Subject: RE: [vfp] retorno de datos de un formulario
Date: Thu, 17 Feb 2011 16:09:11 -0500

Irlandes 1960

unread,
Feb 17, 2011, 5:03:47 PM2/17/11
to publice...@googlegroups.com
Hola, en el return del formulario dependiente, podes devolver cualquier cosa que ese formulario vea en ese momento, ya sea que lo guardaste en una propiedad del form (como los ejemplos de Thisform.valor o Thisform.volver) o que tomes directamente algo de algun objeto (thisform.txtgral1.value) o de algun cursor que estes usando, o en definitiva de donde quieras, y con la combinacion que quieras, siempre teniendo en cuenta que es una sola variable, lo que te obliga a que si necesitas mas de una, tengas que concatenarlas y despues al volver desarmarlas. Y esto funciona siempre.
Ojo con las variables publicas, que si las entras a manosear te puede llegar a dar cualquier cosa. Hay veces que el usuario tiene tantas ventanas abiertas de la misma aplicacion que es inseguible como llego hasta ahi, y puede llegar a tener cinco veces abierto lo mismo que ni se acuerda.
La gran ventaja del "do form .... to variable"  es que es un dialogo privado entre estos dos formularios y no afecta nada mas, y ademas el formulario dependiente, al ser modal, no permite que te quede colgado a medias el tema.
Larga vida al Zorro
JK

Luis Maria Guayan

unread,
Feb 17, 2011, 5:38:18 PM2/17/11
to publice...@googlegroups.com
No deberías crear una variable pública, debes utilizar una propiedad de tu formulario modal.

En el INIT:
LPARAMETERS tu1, tu2, ...
*-- A estos parametros lo debes también transferir a propiedades del formulario para que estén en el alcance de cualquier método del formulario


En el método que asignas el valor a retornar:
ThisForm.Retorno = Algun_Valor


En el método UNLOAD:
RETURN ThisForm.Retorno




Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Arnaldo Toledano (GMail)

unread,
Feb 17, 2011, 6:34:24 PM2/17/11
to publice...@googlegroups.com
Gracias a todos.
Aveces uno cometes errores tan bolu..  (tontos), que por ser asi de sencillos no se da cuenta.
 
En los parametros los pongo como indica Luis Maria, todo bien.
Pero....
en el volver tenia este groso erro
 
thisform.volver.value=A+B-C * 15... etc
 
Gracias nuevamente
 
Arnaldo
----- Original Message -----

magdalena concepcion cañete fretes

unread,
Feb 18, 2011, 1:11:45 PM2/18/11
to Comunidad de Visual Foxpro en Español
Hola Dario...sera que podes explicarme mejor esto.....me sale bien con
una propiedad creada pero no se como hacerlo si tengo mas datos que
quiero traer de otro formulario al formulario en en cual estoy
trabajando....gracias

On 17 feb, 17:12, Darío Castillejos
<dcastille...@distribuidoralevic.com> wrote:
> Crea propiedades en tu primer formulario y asígnales valor desde el segundo
> formulario.
>
> Con esto te quitas de pasar y/o recibir parámetros ó andar liberando
> variables públicas.
>
> Saludos.
>
>   _____  
>

Irlandes 1960

unread,
Feb 18, 2011, 10:11:58 PM2/18/11
to publice...@googlegroups.com
Hola, ¿probaste usando un dbf ?

Walter R. Ojeda Valiente

unread,
Feb 19, 2011, 11:50:11 PM2/19/11
to publice...@googlegroups.com
O una clase.

Siempre tienes la posibilidad de definir una clase y luego instanciar un objeto de esa clase. Envías y recibes ese objeto entre los formularios.

Simple y fácil.

Saludos.

Walter.

Reply all
Reply to author
Forward
0 new messages