Pasar valor de variable de un formulario a otro formulario

1,617 views
Skip to first unread message

integral

unread,
May 2, 2011, 8:35:24 PM5/2/11
to Comunidad de Visual Foxpro en Español
Amigos :

Tengo la siguiente pregunta :

Como le hago para pasar el valor de una o dos Variables del formulario
secundario hacia el formulario principal. A continuacion el detalle de
mi pregunta.

Tengo 2 formularios, el primero me sirve para ingresar los datos de
las
Prendas que ingresan a la tienda comercial (Lavanderia) y de dicho
formulario en
uno de los botones de comando activo otro formulario de ayuda para la
eleccion del tipo de prenda que ingresa.

Este segundo formulario contiene 01 GRID que tiene al pie del mismo
un
control TextBox que sirve para ingresar el nombre del tipo de prenda
que ingresa .

Como traslado la descripcion de dicho articulo al formulario principal
para luego guardarlo en la tabla correspondiente, sin tener que
recurrir a hacerlo mediante Variables Publicas...

A la espera de sus comentarios y/o sugerencias...

atte.,

Gabriel

Miguel Antúnez

unread,
May 2, 2011, 8:42:46 PM5/2/11
to publice...@googlegroups.com

Hay dos formas de hacerlo.
El primero el valor lo puedes retornar en en unload del from secundario a tu form principal, al llamar lo haces de la forma do form xx to mivariable.
La segunda que me gusta mas es enviar el objeto del form anterior via parametro de la forma do form xx wiht thisform.objeto
En el init del segundo formulario el objeto lo capturas en alguna propiedad y es como si la tuvieras en el form principal.

Saludos.
Miguel Antunez.

Desde mi Android

Walter R. Ojeda Valiente

unread,
May 2, 2011, 8:52:09 PM5/2/11
to publice...@googlegroups.com
Hay dos formas más:
1. Con variables públicas (no es recomendado, pero sí es posible)
2. Con propiedades del objeto _SCREEN

Saludos.

Walter.



> Date: Mon, 2 May 2011 17:35:24 -0700
> Subject: [vfp] Pasar valor de variable de un formulario a otro formulario
> From: gabriel_...@hotmail.com
> To: publice...@googlegroups.com

Trento

unread,
May 2, 2011, 9:14:03 PM5/2/11
to Comunidad de Visual Foxpro en Español
Bien, en el botón de comando me imagino que tienes algo parecido a:

DO FORM MiFormPrendas

que hace que se muestre el formulario del catálogo de prendas. Y el
RecordSource del Grid contiene el campo DESCRIPCION, por así llamarlo.

Prueba con esto:

*******************
lcDescripción = ""

DO FORM MiFormPrendas TO lcDescripcion

IF !EMPTY( lcDescripcion )

*!* Tenemos la Descripcion, ¿qué hacemos ahora?
ELSE

*!* ????
ENDIF
******************

Ahora bien, en tio form MiFormPrendas, agrega una propiedad donde
almacenar la descripción de la prenda. Lamémosla cDescripcion y en su
valor inicial quitamos la .F. que aparece por default (para que no
tome esta propiedad como un valor lógico).

Cuando el usuario haya teclado en ese form la clave de la prenda, se
muestra el puntero del grid en el registro correspondiete ¿cierto?

Me imagino que tendrás botones de "Aceptar" y "Salir/Cancaler"

Pues bien, ahora en el botón "Aceptar" teclar esto:

**********************
WITH THISFORM

.cDescrip = TABLA.DESCRIPCION &&Donde tabla es el catálog de
prendas
&& que a su
vez es RecordSource del Grid

.Release
ENDWITH
**********************

Y en el evento UNLOAD de agrega:

RETURN THIS.cDescrip



Saludos.

Luis Maria Guayan

unread,
May 2, 2011, 10:17:27 PM5/2/11
to publice...@googlegroups.com
Lo pasas como parámetro/s

DO FORM MiFromulario WITH Param1, Param2

O también puedes pasar el formulario como parámetro y luego referenciar todos sus objetos y valores.

En mi caso, en mi clase base formulario tengo una propiedad oPadre que tiene una referencia al formulario padre. Esto lo hice siguiendo los pasos del artículo de Andy Kramek

-- Obtener una referencia a un formulario padre (Andy Kramek) --
http://www.portalfox.com/article.php?sid=1965

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

Reply all
Reply to author
Forward
0 new messages