Para el ejemplo pasaremos datos de un trabajador de la Ventana 1 a la Ventana 2.
Para ello creamos previamente la estructura a utilizar.
La estructura a crear es st_trabajador, el cual tendrá código, nombre y sueldo mensuales recibidos por el trabajador, el cual se almacenara en el array sueldos_anno.
![]() |
Objeto Estructura |
Ventana 1
Creamos la Ventana 1 y agregamos los siguientes objetos:
- sle_codigo
- sle_nombre
- sle_enero
- sle_febrero
- sle_marzo
- cb_pasar_datos
![]() |
Ventana 1 |
//Instanciamos estructura st_trabajador
st_trabajador st_trabajador_parametro
//cargamos los datos para las variables de la estructura
st_trabajador_parametro.codigo=sle_codigo.text
st_trabajador_parametro.nombre=sle_nombre.text
//Carga variable array
st_trabajador_parametro.sueldos_anno[1]=dec(sle_enero.text)//Enero
st_trabajador_parametro.sueldos_anno[2]=dec(sle_febrero.text)//Febrero
st_trabajador_parametro.sueldos_anno[3]=dec(sle_marzo.text)//Marzo
//Abrimos Ventana 2 enviando como parametro la estructura
OpenWithParm(w_ventana2,st_trabajador_parametro)
![]() |
Evento Clicked - cb_pasar_datos |
Ventana 2
Creamos la Ventana 2 y agregamos los siguientes objetos:
- sle_codigo
- sle_nombre
- sle_suma_sueldos
![]() |
Ventana 2 |
En el evento open de la Ventana 2 ingresamos el siguiente código:
//Instanciamos estructura st_trabajador
st_trabajador lst_trabajador_parametro
/*message.powerobjectparm => almacena la referencia del objeto pasado como parametro.
Usamos message.powerobjectparm porque el parametro pasado es un objeto.*/
//Cargamos el paramatro a la instancia lst_trabajador_parametro
lst_trabajador_parametro=message.powerobjectparm
//Obtenemos los datos
sle_codigo.text=lst_trabajador_parametro.codigo
sle_nombre.text=lst_trabajador_parametro.nombre
//Obtenemos los datos del array
sle_suma_sueldos.text=string lst_trabajador_parametro.sueldos_anno[1] & + lst_trabajador_parametro.sueldos_anno[2] & + lst_trabajador_parametro.sueldos_anno[3],"###,##0.00")
![]() |
Evento open Ventana 2 |
Objeto Application
En el evento open del objeto application ingresamos el siguiente código
open(w_ventana1)
Ejecución
Ejecutamos la aplicación.
![]() |
Ventana 1 |
![]() |
Ventana 2 |
4 comentarios:
Gracias buen aporte!
Gracias!
Se pueden mandar 2 estructuras a una misma ventana?
Gracias
Publicar un comentario