Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Pasar variable o valor entre forms (https://www.clubdelphi.com/foros/showthread.php?t=35236)

nachito_tuc 05-09-2006 08:42:27

Pasar variable o valor entre forms
 
Hola. Lo que necesito es lo siguiente: tengo un dbgrid que hace una consulta en una tabla, y necesito pasar un campo del registro seleccionado (el id), al formulario que solicito la consulta. Se entiende?
O sea basicamente lo que necesito es mandar un dato de un formulario a otro, no se si tengo que usar una variable global, o puedo directamente colocar el dato en un control del formulario destino o que.
Aclaro que los ds que uso no son los mismos en los 2 formularios, asi que no me sirve usar dbedits o cosas asi.

Como hago esto?
Saludos y gracias

Nacho

Rabata 05-09-2006 13:50:52

Lo k yo te enyiendo es lo siguiente

Tengo un Label1 en el Form1


Para Usar este label en otro Form (Por ejemplo en le Form2)

Form1.Label1.Caption:='Hola';

Y Añadir el Form a las Unit de Este Form (Form2)

En el Caso que quieres debes tener en cuenta k estas seleccionando el campo de una tabla

Formulario_de_la_Tabla.NombreTabla.FieldByName('Nombre_Campo').Value;
ó
Formulario_de_la_Tabla.NombreTablaNombre_Campo.Value;
(Una vez hallas Añadido este Campo a la Tabla)

Te aconsejo para los componentes de base de datos k uses un DataModule

Espero te sirva...

dec 05-09-2006 13:54:53

Hola,

Se ha tratado en estos Foros sobre eso no hace mucho, y es un tema algo recurrente, así que probablemente utilizando el buscador de los Foros se acabaría encontrando información interesante sobre lo que te preocupa.

Piensa en una variable pública que declarases en la "interfaz" de la unidad que contiene el formulario al que quieres pasarle "datos". Nada te impediría acceder a dicha variable desde otro formulario, desde otra unidad, y darle el valor que estimaras oportuno, y que luego podrías recoger desde el propio formulario "de destino".

Piensa en que este mismo formulario "de destino" (del dato que quieres pasarle) podría contar con una propiedad pública, que también podría ser accedida desde fuera del formulario, aunque ya "a través de él", sin problema alguno.

Piensa que puedes implementar un método en este formulario receptor del dato que quieres enviarle, podrías implementar un método público, algo así como un "EstablecerDatoDesdeAqui(dato: string);", y que podrías utilizar este método para hacer lo que precisas desde otro formulario o unidad.

Piensa en que el constructor del formulario puede sobreescribirse, de que podrías preparar un constructor que, a parte de llamar al constructor "padre" para que hiciese su trabajo, podría encargarse de recoger un determinado valor que se le pasara como parámetro, y guardarlo donde mejor le pareciera (en cualquier variable privada o propiedad) en el formulario.

En fin... si necesitas más ayuda o piensas en todo caso que esto que te digo es humo, no dejes de buscar en los Foros y también de comentar por aquí lo que te parezca, para que alquien pueda tratar de echarte una mano en el caso. ;)

Casimiro Notevi 05-09-2006 14:06:41

Cita:

Empezado por dec
Hola,

Se ha tratado en estos Foros sobre eso no hace mucho, y es un tema algo recurrente, así que probablemente utilizando el buscador de los Foros se acabaría encontrando información interesante sobre lo que te preocupa.

Piensa en una variable pública que declarases en la "interfaz" de la unidad que contiene el formulario al que quieres pasarle "datos". Nada te impediría acceder a dicha variable desde otro formulario, desde otra unidad, y darle el valor que estimaras oportuno, y que luego podrías recoger desde el propio formulario "de destino".

Piensa en que este mismo formulario "de destino" (del dato que quieres pasarle) podría contar con una propiedad pública, que también podría ser accedida desde fuera del formulario, aunque ya "a través de él", sin problema alguno.

Piensa que puedes implementar un método en este formulario receptor del dato que quieres enviarle, podrías implementar un método público, algo así como un "EstablecerDatoDesdeAqui(dato: string);", y que podrías utilizar este método para hacer lo que precisas desde otro formulario o unidad.

Piensa en que el constructor del formulario puede sobreescribirse, de que podrías preparar un constructor que, a parte de llamar al constructor "padre" para que hiciese su trabajo, podría encargarse de recoger un determinado valor que se le pasara como parámetro, y guardarlo donde mejor le pareciera (en cualquier variable privada o propiedad) en el formulario.

En fin... si necesitas más ayuda o piensas en todo caso que esto que te digo es humo, no dejes de buscar en los Foros y también de comentar por aquí lo que te parezca, para que alquien pueda tratar de echarte una mano en el caso. ;)

Te ha faltado una: enviar a un mensajero con el paquetito, que es más rápido tal y como están las calles hoy en día :D:D:D

Ya en serio, para quien no sabe es realmente complicado, pero siempre ocurre lo mismo: ¿por qué no se busca antes de preguntar lo mismo de siempre?:
- Por flojera
- Porque no se sabe que se puede buscar
- Porque se piensa que debe ser algo tan complicado que a nadie se le ocurrió antes y por lo tanto no se va a encontrar nada al respecto, mejor preguntar directamente.
- Por otros motivos. Poner cual: ___________


Es broma, que no se enfade nadie. :):):)


La franja horaria es GMT +2. Ahora son las 12:02:37.

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