FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
devolver valores al form que lo llamo
hola a todos
mi duda de hoy es , como puedo devolver valores desde un frame a un form q lo ha "invocado" me explico tengo X form en los que tengo q poner el agente en un campo, por lo que he creado un Frame(esto es discutible si poner otra cosa) en el cual tengo la tabla de todos los agentes en un DBgrid(con su tabla, DS etc) y un boton ACEPTAR para cerrar la ventana y enviar el agente actual en el dbgrid lo que no se es como mandar esos datos de agente(codigo y nombre) al form q lo invoco, dado q lo hare de distintos form queiro q sea generico, no a un determinado form gracias a todos por la ayuda |
#2
|
||||
|
||||
Hola djanp
Eso lo puedes realizar de diferentes formas.... antes de que cierres el formulario de donde rescatas los datos deberias asignar los valores al formulario que lo llama... sería algo así... supongamos que tienes Form1 y Form2... en Form1 tienes Var1, Var2.. y Form2 tienes Nombre, Fec_Nac.... lo puedes llamar de la sgte forma: Antes de Cerrar el Form2.. puedes hacer esto Form1.Var1 := Nombre; Form1.Var2 := Fec_Nac; Espero que te sirva salu2
__________________
BlueSteel |
#3
|
||||
|
||||
Este mensaje hace lo que dices, podrás echarle un vistazo también al hilo completo si trabajas con mdichilds y showmodal para algunas ventanas.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
|||
|
|||
lo de blueSteel esta bien pero solo puedo usar el frame para un form dado q le devolvera a ese form los datos...lo q no me vale
mmm a ver como es el tema de Lepe... la funcion abrirventana es un simple open form??? pq ahora mis mo no se como ahcerlo y en cuanto a los q devuelve la funcion buscar, lo q queiro me lo devuelve en BUSCAREN, pero en que momento se meten TBuscar = (codigo, nombre); estos son los 2 valores q quiero sacar... Function TPC.Buscar( BuscarEn:TBuscar; InternalOpen :Boolean):String; begin Result := false; en mi caso quiero q sea string lo q devuelva... case BuscarEn of codigo : with Tagente.Create(nil) do try if ShowModal = mrOk then // en la ventana de busqueda se seleccionó un cliente válido Result := DBGagentes.Fields[0].AsString; finally Free; end; end; if (InternalOpen) then if Result = false then // si no elige nada en la ventana de búsqueda, Result tendrá el valor -1. AbrirVentana(BuscarEn, Result); end; |
#5
|
||||
|
||||
Al parecer, requieres algo distinto a lo que yo propongo.
El botón Aceptar no debe enviar nada a ningún Form. El Form que invoca el frame, será el responsable de capturar los datos. Lo más cómodo, crear en el Frame un par de propiedades, esto hará mucho más legible el código cuando usemos el frame en todas las ventanas.
Esto es algo más complejo de lo que has pedido, pero lo necesitarás. Lo que he hecho es definir 2 propiedades que tendrán los datos del agente elegido en el grid, además doy la posibilidad de que muestre un agente seleccionado al mostrar el frame. por ejemplo: Toda venta de un negocio, tiene asociado un "Agente de venta", bien, desde una ventana "Ventas" quiero mostrar el frame y seleccionar el agente de código 20: "F" es un frame TAgente puesto en la ventana "ventas".
Si ahora en la ventana de ventas, queremos saber qué agente hay seleccionado en el frame:
Saludos y espero se entienda, si no, dime cualquier cosa Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#6
|
|||
|
|||
puffff ojala pudiera comprobarlo pero ahora tengo un error
class Tbutton not found....es curioso pq he quitado todos los button q tenia a ver si se corregia y nada... |
#7
|
||||
|
||||
Parece que hubieses tocado las opciones del Library Path (Tools -> Environment Options -> Library Path)
Tbutton está declarado en la unidad StdCtrls.pas de la vcl, si el IDE de delphi no encuentra ese archivo, no puede compilar. Prueba a añadir "StdCtrls" en los uses a ver... Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
|||
|
|||
ya lo tienen todos peustos , y añadi BUTTON a los q da el problema, pero nada...
|
#9
|
|||
|
|||
bueno ya corregi el problema, pero tengo una duda de como scar el frame
como hago para q salga en otra ventana pequeña? q pongo en ??? y como hago para no tener q crear de nuevo un frame en TpvBeforePost? que utilice el que he creado enel procedure Bagenteclick procedure TPV.BagenteClick(Sender: TObject); begin with Tframeagen.Create( Self ) do begin Visible := True; Parent. := ???; end; end; procedure TPV.TpvBeforePost(DataSet: TDataSet); begin TPV.FieldbyName('C Agente').AsString := TFrameagen.Create(self).Codigo; DBEdit14.DataField:= frameagen.Fframeagen.Agente; end; graicas |
#10
|
||||
|
||||
No sé como estás trabajando, lo normal, es poner el frame en tiempo de diseño, es decir, paleta Standard de delphi, Frame, y ahora haces click en el form TPV, te pedirá que elijas un Frame y lo añade a ese Form.
Ese Frame es un componente más (como un TEdit, TDBEdit, etc), puedes hacer referencia a él como otro componente cualquiera. Así te olvidas de de crear el frame en tiempo de ejecución (TFRameAgen.Create(self). SAludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Devolver foco desde Form No Modal al control llamante | gluglu | Varios | 8 | 22-06-2007 08:35:41 |
continuacion a ¿quien llamo a mi form? | FGarcia | Varios | 3 | 19-06-2007 23:50:44 |
¿Quién llamó mi form? | dape | OOP | 7 | 13-04-2006 02:24:59 |
problema para devolver 2 valores en una funcion | tiagor64 | OOP | 4 | 06-05-2005 15:38:59 |
Llamar a un Form y que devuelva valores | i.larranaga | OOP | 2 | 31-05-2004 16:42:01 |
|