Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: Oct 2005
Posts: 54
Poder: 13
pyanqn Va por buen camino
Question Como intercambio información entre formularios

hola, les comento que estoy aprendiendo delphi, y tengo un problemita, tengo dos formularios, uno llama al otro, pero quiero que el segundo retorne los datos que son cargados alli, al primero y este pueda procesarlos, hasta el momento no encontre la forma de hacerlo...

Gracias.
Responder Con Cita
  #2  
Antiguo 02-11-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: Jul 2005
Posts: 196
Poder: 14
epuigdef Va por buen camino
cómo llamas al segundo formulario desde el primero?


Lo más fácil sería poner variables en la sección PUBLIC del segundo, y entonces desde el primero las puedes acceder: Form2.variable.

Un ejemplo de código sería:

Código Delphi [-]
 
   var form2 : TForm2;
 
  form2 := TForm2.create(nil);
 
  if (Form2.showmodal) then
  begin
    mivariable := Form2.variable;
 
  end;
Edu
Responder Con Cita
  #3  
Antiguo 02-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: Oct 2005
Posts: 54
Poder: 13
pyanqn Va por buen camino
Lo que inteno es: Aprietas un boton y abre una ventana que muestra un DBGrid, cuando selecciones un fila, y aprietes el boton aceptar en esa ventana, se cierra, y en la ventana en la que llamó, quiero tener disponibles esos datos.

El codig que uso es:

Application.CreateForm(TFrmBuscar, FrmBuscar);
try
FrmBuscar.ShowModal;
//Aqui debo obtener los datos?, cómo?
finally
FrmBuscar.Free;
end;
Responder Con Cita
  #4  
Antiguo 02-11-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: Dec 2004
Posts: 882
Poder: 14
Héctor Randolph Va por buen camino
Si lo que tienes es un DBGrid, la información debes obtenerla directamente del DataSet.

Es decir recupera la información directamente de los campos.

Si la tabla está en el FrmBuscar entonces haz algo así

Código Delphi [-]
     if FrmBuscar.ShowModal=mrOk then
     begin
        //Aqui debo obtener los datos?, cómo?
        Var1:=FrmBuscar.Table1.FieldByName('NombreDeMiCampo').AsString;
        // etc..
     end;
end;
Responder Con Cita
  #5  
Antiguo 02-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: Oct 2005
Posts: 54
Poder: 13
pyanqn Va por buen camino
Si, claro que puedo obtenerla del dataset, pero, decime si estoy en lo cierto.
La DBGrid presenta varios registros, el usr selecciona uno, y pulsa un boton aceptar, ahora del otro lado, en el dataset quedo apuntando al registro que selecciono?
Responder Con Cita
  #6  
Antiguo 02-11-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: Dec 2004
Posts: 882
Poder: 14
Héctor Randolph Va por buen camino
Esa es la idea, cuando seleccionas algo en un DBGrid, el puntero de registros se desplaza hasta esa nueva posición y ahi se quedará mientras no hagas más cambios.

Un saludo.
Responder Con Cita
  #7  
Antiguo 02-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: Jul 2004
Ubicación: Barcelona - España
Posts: 15.700
Poder: 10
Neftali [Germán.Estévez] Tiene un aura espectacularNeftali [Germán.Estévez] Tiene un aura espectacular
Cita:
Empezado por pyanqn
...y en la ventana en la que llamó, quiero tener disponibles esos datos.

Código Delphi [-]
    Application.CreateForm(TFrmBuscar, FrmBuscar);
        try
           FrmBuscar.ShowModal;
           //Aqui debo obtener los datos?, cómo?
        finally
           FrmBuscar.Free;
   end;
Define una propiedad pública en el form FrmBuscar (por ejemplo ValorResult), antes de cerrarlo asignale el valor a la propiedad.
En el código que tienes arriba puedes consultar el valor de la propiedad antes de liberar el form:

Código Delphi [-]
 Application.CreateForm(TFrmBuscar, FrmBuscar);
  try
  FrmBuscar.ShowModal;
    Str := FrmBuscar.ValorResult;
  finally
    FrmBuscar.Free;
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 03-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: Oct 2005
Posts: 54
Poder: 13
pyanqn Va por buen camino
Ok, gracias.
Pero ahora, disculpa que pregunte esto:
¿En que parte debería declara la variable que deseo que sea publica?

Unit tanto
Interface
Type //Aca se define el formulario
...
End;//Termina la definicion
Var
//Seria aqui?, porque si es así no puedo verla desde otro mudulo.
Implementation
...
Responder Con Cita
  #9  
Antiguo 03-11-2005
Avatar de hector
[hector] hector is offline
Miembro Premium
 
Registrado: May 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.076
Poder: 17
hector Va por buen camino
Tienes que declararla dentro de la deficion de la clase. Tu archivo .pas debe tener algo como:

TFormulario = Type(class)
propiedades..
.....
procedimientos..
....
funciones ...
...
public
{declara las publicas aqui}
private
{declara las privadas aqui}
..
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:42:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi