https://foro.gambas-es.org/viewtopic.php?f=1&t=123
-----------------------------------
CanihoJR
Martes, 13 Octobre 2009, 07:54

Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario? [Solucionado]
-----------------------------------
Pues eso, necesito hacer algo parecido a esto... Tengo un formulario que busca clientes, y quiero que al seleccionarlo, lo carge en mi pantalla principal... que está en otro formulario.. alguna forma de hacerlo?


-----------------------------------
soplo
Martes, 13 Octobre 2009, 13:42

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
Si los objetos de los formularios son públicos trabajas igual desde otro formulario.

Es decir, que tu has reunido una información en un formulario y quieres mostrarla en otro formulario form2. Pues para poner el contenido harías cosas como esta:
with form2
   .textbox1= ...
   .textbox2= 
   .textbox3= ...
end with

Para poner públicos los objetos de los formularios debes ir a las propiedades del proyecto.

 :mryellow:


-----------------------------------
CanihoJR
Martes, 13 Octobre 2009, 13:47

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
perfecto, acabo de probarlo y es justo lo que buscaba ^^

una subpregunta.... tengo un formulario para seleecionar un cliente, puedo saber de alguna forma que formulario abrió ese otro formulario? para si lo abrió uno, enviar los datos a un sitio, o si lo abrió otro, enviarlos a otro, asi tengo un mismo formulario para todo ^ ^


-----------------------------------
soplo
Martes, 13 Octobre 2009, 14:39

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
Si tienes un formulario dentro de otro puedes usar la propiedad parent que se refiere al contenedor padre.

Si son dos formularios inconexos entonces lo que tendrías que hacer es cargarlo, ponerle la propiedad tag que identifique al formulario que llamó y acceder a el a traves por ejemplo de info.forms que retorna la colección de forms


-----------------------------------
CanihoJR
Martes, 13 Octobre 2009, 15:07

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
Es el segundo caso, dos formularios inconexos, pero no entendi bien esa solucion o_O


-----------------------------------
soplo
Miercoles, 14 Octobre 2009, 17:53

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
Pues he hecho algunas pruebas y no me sale.

La cuestión es cuando tu creas un form estás instanciando la clase form que es una clase enumerable. 
Por tanto debe ser posible obtener la lista de instancias a las que podrás identificar por su handle correspondiente.

La cosa es que tu pongas en el tag el handle del form que quieres actualizar y con esa información podrás identificar inequivocamente en tu botón el form que debes actualizar. Quería ponerte un ejemplo, pero es que no me está funcionando y no se si es porque no estoy inspirado, porque algo no rula bien o por que dichosa razón, pero el caso es que no lo consigo.

Intenté utilizar la clase object, la clase class, la clase info, ..., etc y no hay manera.

Cuando lo consiga te lo cuento. Me he encabronado con este asunto GRRRRRRRR!!!!!!!
 :mryellow:


-----------------------------------
jguardon
Miercoles, 14 Octobre 2009, 18:05

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
¿Y por qué no creas una función o procedimiento público en el formulario principal que acepte como parámetro algún texto, índice u otra cosa y la llamas desde el manejador del botón, combobox (o lo que sea) del segundo formulario?

Esa es una solución bien conocida por todos, cuando los controles no son públicos.


-----------------------------------
shordi
Miercoles, 14 Octobre 2009, 18:35

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
Soplo, el tag es un variant. Tal vez vayan por ahí los tiros.


-----------------------------------
david
Jueves, 15 Octobre 2009, 00:54

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
yo empezaría con un modulo select case

select case formularios
 case cliente
form1.showmodal
 case pelicula
form2.showmodal
end case
y en el formuario donde estas trabajando  pondria  formularios = cliente

por ejemplo

alguna solucion tiene que haber para este problema

"el tiempo nos dirá que somos"


-----------------------------------
shordi
Jueves, 15 Octobre 2009, 12:24

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
No os liéis que el tema es muy simple. Sólo tienes que utilizar una variable pública.
Adjunto ejemplo.


-----------------------------------
CanihoJR
Jueves, 15 Octobre 2009, 13:49

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
ajam, mas o menos creo aver captado la idea, solo que nose para que sirve lo del showmodal :s y por mas que busco solo encuentro "para poner el formulario en modo modal"..............

Tambien encontré aqui lo siguiente:

[i]f.showmodal() ----> mostrar formulario MODAL sin retornar valor alguno cuando se cierre
f.showmodal(integer) ---> mostrar formulario MODAL retornando el parámetro cuando se cierre.
[/i]

mmmm como que  el formulario devuelve algo?? O_o


-----------------------------------
nrcefe
Jueves, 15 Octobre 2009, 14:33

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
lo que puedes hacer es :

poner en la propiedad "tag" de cada formulario que debe mandar la informacion, la direccion a la cual se debe mandar esa informacion

luego hacer una funcion publica en donde le pases como parametro el nombre del formulario para obtener la direccion.

ejemplo

[cell class=spoiler]
form1.tag= www.hotmail.com ' lo pongo sin comillas porque supongo que pones la direccion en modo de diseño
form2.tag= www.yahoo.com   ' si lo haces en tiempo de ejecucion seria  form1.tag="www.hotmail.com" (es decir, con comillas, igual para el form2)


public function enviarinformacion(formulario as form)
   dim direcciondestino as string
    ....
    direcciondestino=formulario.tag
   
    'proceso para enviar la informacion
    ...
end[/cell]


luego llamamos desde el form 1 y 2 a la funcion "enviarinformacion"

 para el form 1 seria ( supongamos que la informacion se envia al hacer un click sobre un boton )

[cell class=spoiler]
button1_click()
      enviarinformacion(me)
end[/cell]


para el form2 seria igual

un abrazo


-----------------------------------
CanihoJR
Jueves, 15 Octobre 2009, 14:54

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
alfinal lo he solucionado creo que con un "kilombo" de unos y otros xDD lo que he echo a sido una funcion a la que le paso un parametro string que identifica al modulo que lo abre y despues con un CASE segun sea un formulario u otro, igualo los campos de un formulario, o de otro :D


-----------------------------------
fabianfv
Jueves, 15 Octobre 2009, 17:37

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario?
-----------------------------------
"solo que nose para que sirve lo del showmodal"

Para explicarlo brevemente y de la manera más sencilla posible, un formulario abierto en modo "Modal" impide que el usuario interactúe con otros formularios de la misma aplicación que estén abiertos. Así, el usuario deberá cerrar el formulario (por lo general se tratará de un cuadro de diálogo) para poder continuar trabajando en la ventana principal de la aplicación.

Saludos.


-----------------------------------
david
Sabado, 17 Octobre 2009, 16:51

Re: Cambiar El TextBox De Un Formulario, Con El Boton De Otro Formulario? [Solucionado]
-----------------------------------
de eso se trata canihojr, expone el problemas y te llueve las soluciones, "en algunas ocasiones"


