Como Hacer Que Un Formulario Retorne [SOLUCIONADO]


Ir a la página 1, 2, 3, 4  Siguiente

Objetivo: Como Hacer Que Un Formulario Retorne [SOLUCIONADO]
Hola a todos.
Estoy tratando de pasar datos de un formulario a otro para un proyecto mas grande en el que agrupo varios formularios típicos.
Para que sea mas simple de comprender hice este ejemplo, pero no logro hacer que funcione.
La idea es pasar un valor Integer desde el formulario secundario al principal.
pero creando una instancia de una clase intermedia que es la visible desde fuera.
Esto lo hago así porque todo lo pondré en un componente.
Parece complicado pero es la forma en que trabaja el formulario print por ejemplo.
He tratado de hacer funcionar el ejemplo de Guardon de otro post pero tampoco lo he conseguido.
https://www.gambas-es.org/viewtopic.php?f=1&t=402
Si logramos dar con el método correcto sera un gran avance. ya que luego el paso siguiente sera comunicar tipos de variables mas avanzadas como una Collection por ejemplo.
Este es un esquema de la idea para mas claridad.
flow_edit
Saludos.

última edición por tincho el Miercoles, 12 Febrero 2020, 15:43; editado 2 veces
Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
tincho escribió: [Ver mensaje]
Hola a todos.
Estoy tratando de pasar datos de un formulario a otro para un proyecto mas grande en el que agrupo varios formularios típicos.
Para que sea mas simple de comprender hice este ejemplo, pero no logro hacer que funcione.
La idea es pasar un valor Integer desde el formulario secundario al principal.
pero creando una instancia de una clase intermedia que es la visible desde fuera.
Esto lo hago así porque todo lo pondré en un componente.
Parece complicado pero es la forma en que trabaja el formulario print por ejemplo.
He tratado de hacer funcionar el ejemplo de Guardon de otro post pero tampoco lo he conseguido.
https://www.gambas-es.org/viewtopic.php?f=1&t=402
Si logramos dar con el método correcto sera un gran avance. ya que luego el paso siguiente sera comunicar tipos de variables mas avanzadas como una Collection por ejemplo.
Saludos.


tincho me supongo que quieres decir de FMain a FData, por favor, aclárame esto, gracias.

Nota te lo digo por que ambas entrada de datos esta accesibles para escribir y si la que recibe los datos al menos estuviera en modo lectura seria mas fácil de saber quien escribe y quien recibe. A parte para mi es la duda.

última edición por gambafeliz el Domingo, 20 Octobre 2019, 15:04; editado 1 vez
Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
gambafeliz escribió: [Ver mensaje]

tincho me supongo que quieres decir de FMain a FData, por favor, aclárame esto, gracias.

Fmain es el principal, allí apreto un botón y se abre el formulario FData, el secundario en este caso. Luego en FData se escriben o procesan datos (que puede ser contra una BBDD) luego al cerrar este formulario tiene que devolver un entero (que puede ser la clave de un registro) y dicho valor tiene que poder ser utilizado en FMain.
Bien esta es la idea básica.
Pero para poner este proceso en un componete es necesario usar una clase intermedia que se instancia en FMain.
Saludos.

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
tincho escribió: [Ver mensaje]
gambafeliz escribió: [Ver mensaje]

tincho me supongo que quieres decir de FMain a FData, por favor, aclárame esto, gracias.

Fmain es el principal, allí apreto un botón y se abre el formulario FData, el secundario en este caso. Luego en FData se escriben o procesan datos (que puede ser contra una BBDD) luego al cerrar este formulario tiene que devolver un entero (que puede ser la clave de un registro) y dicho valor tiene que poder ser utilizado en FMain.
Bien esta es la idea básica.
Pero para poner este proceso en un componete es necesario usar una clase intermedia que se instancia en FMain.
Saludos.


Y por que no trabajas con la propiedad Tag del formulario, ¿te pregunto?

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
gambafeliz escribió: [Ver mensaje]
Y por que no trabajas con la propiedad Tag del formulario, ¿te pregunto?

Por que mi memoria es un desastre
Voy a probar con .tag a ver como va.
Saludos.

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
tincho escribió: [Ver mensaje]
gambafeliz escribió: [Ver mensaje]
Y por que no trabajas con la propiedad Tag del formulario, ¿te pregunto?

Por que mi memoria es un desastre
Voy a probar con .tag a ver como va.
Saludos.


No se si es lo que quiere o si te vale o no. Te doy el ejemplo como se me ha ocurrido, sino es pues perdone usted.

Saludos.

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
gambafeliz escribió: [Ver mensaje]
No se si es lo que quiere o si te vale o no. Te doy el ejemplo como se me ha ocurrido, sino es pues perdone usted.
Saludos.

Probé tu ejemplo y funciona a medias, ya que no interviene la Clase CData.
Tendré que seguir investigando.
Saludos.

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
Bueno probé hacerlo con Me.Tag y tampoco logro hacer funcionar el traspaso de una variable entre Formulario-ClaseIntermedia-OtroFormulario.
  • FormularioPrincipal Le pregunta el valor a ClaseIntermedia.
  • ClaseIntermedia abre FormularioSecundario
  • Edición de la informacion en FormularioSecundario
  • Cerrar FormularioSecundario
  • Recuperar la variable y utilizarla en el formulario principal

FMain
Public Sub Button1_Click()
Dim hForm As New CData
Dim ctn As New Collection
hForm.Edit(["Value": 0])
ctn = hForm.ctn
ValueBox1.Value = ctn["Value"]
End

FData (Formulario secundario)
Public ctn As New Collection

Public Sub Form_Open()
ctn = ["Value": 0]
End

Public Sub Button1_Click()
Me.Tag = ctn
Wait 0.001
Me.Close
End

Public Sub ValueBox1_Change()
If ctn.Exist("Value") Then
ctn["Value"] = ValueBox1.Value
Endif
End

CData
Export

Public ctn As New Collection

Public Sub Edit(cn As Collection)

FData.ShowModal()
ctn = FData.Tag

End


Saludos.

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
tincho escribió: [Ver mensaje]
Bueno probé hacerlo


Otra forma y es embeber (inyectar) el formulario principal e insertar el texto directamente.

Perfil MP  
Objetivo: Re: Formulario Que Retorna Valor.
gambafeliz escribió: [Ver mensaje]
tincho escribió: [Ver mensaje]
Bueno probé hacerlo

Otra forma y es embeber (inyectar) el formulario principal e insertar el texto directamente.

Muchas gracias por el interés, de verdad, pero sigue sin ser la solución optima.
Ya que esto debe ir a parar a un componente y luego lo único que sera "visible" o Exported sera la clase que llamara al formulario secundario.
El formulario principal no estará en el componente, sino que este estará en un programa que use el componente.
Por lo que estuve viendo por este foro lo que me parece que debería usarse es el concepto de propiedades.
Saludos.

Perfil MP  
Ir a la página 1, 2, 3, 4  Siguiente

Página 1 de 4


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0893s (PHP: 17% SQL: 83%)
Consultas SQL: 21 - Debug off - GZIP Activado