Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Como Hacer Que Un Formulario Retorne [SOLUCIONADO]

Como Hacer Que Un Formulario Retorne [SOLUCIONADO]
Artículo
Responder citando    Descargar mensaje  
Mensaje 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 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 20 Octobre 2019, 14:10 ]
 


Como Hacer Que Un Formulario Retorne [SOLUCIONADO]
Comentarios
Responder citando    Descargar mensaje  
Mensaje 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 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Domingo, 20 Octobre 2019, 14:27 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 20 Octobre 2019, 15:10 ]
Responder citando    Descargar mensaje  
Mensaje 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?



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Domingo, 20 Octobre 2019, 15:15 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 20 Octobre 2019, 15:26 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Domingo, 20 Octobre 2019, 16:06 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 20 Octobre 2019, 16:31 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 20 Octobre 2019, 16:31 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
gambafeliz - Ver perfil del usuario Enviar mensaje privado  
gambafeliz [ Domingo, 20 Octobre 2019, 20:07 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Domingo, 20 Octobre 2019, 21:15 ]
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
Publicar nuevo tema  Responder al tema  Página 1 de 4
Ir a la página 1, 2, 3, 4  Siguiente
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno