Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   pasar datos de un formulario vista a cualquier formulario (https://www.clubdelphi.com/foros/showthread.php?t=14688)

@-Soft 28-09-2004 14:42:01

pasar datos de un formulario vista a cualquier formulario
 
hola

voy a explicar el titulo mejor, tengo una aplicacion que esta en un 80 % completado y ahora estoy en fase de diseño de un pequeño formulario tipo vista (VIEW) que me va a mostrar los detalles de una tabla cualquiera dependiendo el formulario que lo invoque, esta ventanita se les pasa ciertos parametros y muestra ese contenido, hasta aqui todo perfecto. el proposito de esta ventanita es reutilizarla en tantos formularios padres se necesite y no tener que hacer un formulario por cada ventana padre que invoque una vista de una tabla.

ahora la interrogante es, como puedo pasar el dato que yo seleccione al edit correspondiente de esta vista tomando en cuenta que es una sola ventana y no puedo orientarme a ningun formulario directamente. en pocas palabras quiero que al seleccionar un elemento de la lista (CODIGO) este dato pase directamente al Edit de consulta correspondiente.

alguna idea, nada esperando sus respuestas.

Salu2

mamcx 28-09-2004 17:37:51

La mejor manera es hacer un metodo dentro del formulario, tipo publico:

Código Delphi [-]
TFormaGlobal=....
   public
         procedure AsignarValor(Valor:....) 
         begin
            MiEdit.Text:=Valor;
         end;

//Creas en un unit de procedimientos un metodo global, agregas el unit a cada formulario, algo como:

function MostrarFormaGlobal(Valor:String);
var
     oFormaGlobal:TFormaGlobal;
begin
     oFormaGlobal:=TFormaGlobal.Create(nil);
     try
         oFormaGlobal.AsignarValor('1');
         oFormaGlobal.ShowModal;
     finally
         oFormaGlobal.Free;
     end;
end;

De esa forma logras:

a) Independencia al asignar valores: Si cambias de un Edit a un combo modificas el procedimiento interno pero no tocas lo externo (encapsulacion)

b) Al usar un metodo publico, encapsulas la logica de como se crea la forma publica y como pasar los valores....eliminas una referencia de formulario en los demas lugares lo que dara flexibilidad despues. Por ultimo, la unit de metodos globales te queda sirviendo para constantes y otras cosas

Gydba 28-09-2004 21:56:01

Hola,

Podrías pensar en crearte una clase heredada del TForm (o la que quieras) donde exista algún procedimiento público del tipo virtual-abstract con algunos parámetros que se declara en su correspondiente form descendiente.

De esa manera todos los forms que llamen a la vista tendrán una clase "padre" en común y te permitirán pasarle los parámetros que quieras al procedimiento y hacer con ellos lo que quieras desde cada form en particular.

Siento no poder dedicarle más tiempo a una explicación, pero más o menos esa sería mi idea, claro, si lo que entendí era lo correcto.


La franja horaria es GMT +2. Ahora son las 17:15:57.

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