• Lunes 29 de Abril de 2024, 00:51

Autor Tema:  Datos de un form a otro  (Leído 3764 veces)

Neox

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Datos de un form a otro
« en: Martes 7 de Julio de 2009, 14:33 »
0
Hola, quiero pasar datos de una ventana (form secundario) creado por otro form (el principal). Es decir, si el form secundario tiene datos de por ej. nombre de persona y edad, introducidos por el usuario, al apretar un boton (de aceptar por ejemplo) contenido en el form secundario, se cierre dicho form y se pasen esos datos al form principal. ¿Cómo se hace?
Por otro lado, ¿Se pueden pasar esos datos a una tabla que pertenece al form principal? y si metemos en tiempo de ejecucion a más de 1 persona, que se vayan creando filas en la tabla del form principal con los respectivos datos.
saludos!

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #1 en: Martes 7 de Julio de 2009, 14:41 »
0
Buenas....

Cuando se desea compartir datos de un form a otro es sencillo te vas a el header del form donde deseas tener los datos...
y en la clase los colocas en la parte publica...

Código: C++
  1.  
  2. class TForm1 : public TForm
  3. {
  4. __published:    // IDE-managed Components
  5. private:    // User declarations
  6. public:     // User declarations
  7.          AnsiString prueba;// dato a compartir
  8.         __fastcall TForm1(TComponent* Owner);
  9. };
  10.  
  11.  

Y en la forma en la cual la vas a llamar se tiene que realizar de la siguiente manera...

Código: C++
  1.  
  2.  Form1->prueba= "Hola mundo"
  3.  
  4.  

 :P  La de siempre.... :lol:

.... se que se puede tambien hacer colocando extern.... pero la verdad esa no la he probado...

espero que sea lo que buscas..

taluego.................
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]


Neox

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #2 en: Martes 7 de Julio de 2009, 14:53 »
0
Si, era mas o menos eso gracias!
y una vez tengo esos datos, como los podría meter dentro de un ttable??? (en tiempo de ejecucion claro
gracias

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #3 en: Martes 7 de Julio de 2009, 16:17 »
0
Te recomiendo que uses un poco mas la imaginación... :P  ya tienes todo.... solo es cacharrear y ya...
ademas con que estas trabajando....bases de datos con que objetos.........
en si para que te ayudase te faltaria indicarme que es mas concreto lo que estas haciendo.... <_< .......


teluego..........
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]


Neox

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #4 en: Martes 7 de Julio de 2009, 21:13 »
0
ok tienes razon, tengo que pensar un poquillo mas.
Estoy haciendo un programa que hace dietas, tendria un programa principal con un menu, en donde se encontraria la ficha de "Paciente", al apretar "paciente" se despliega un submenu que pondria "Nuevo", Hasta ahi sin problemas. Luego al apretar nuevo, saltaria una ventana donde habria que rellenar los campos de nombre y apellidos, edad, peso, etc. Al darle a un boton "Aceptar" que se encuentra en dicha ventana, en el programa principal irá apareciendo en una tabla con los datos antes introducidos, y la ventana que se habia abierto logicamente desapareceria, y así sucesivamente.
He puesto que la ventana sea invisible hasta que se apriete nuevo y se hace visible. Al aceptar se hace de nuevo invisible.

Lo que necesito es saber cómo implementarlo. Es decir, creo una clase llamada "paciente" de forma que pueda ir creando varias en tiempo de ejecución y luego meterla en una tabla???
Tambien necesito que me guiases un poco para aprender sobre tablas porque no tengo ni idea.

Muchas gracias.

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #5 en: Martes 7 de Julio de 2009, 21:29 »
0
Segun veo no es para hacerlo en bases de datos......

Bueno te recomiento crea una estructura en el form principal..... como ya te dije ponla en la parte publica de la clase..... o algo por el estilo...

para visualizarlo Utiliza el componente TStringGrid este se asimila a una matriz asi que sera de facil acceso o trabaja derectamente con ella,  sin la estructura..
pues eso si es segun tu acomodo.... y no se pues has algo de codigo asi sera mas facil ayudarte que con solas ideas vagas..... ;)

teluego...................
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]


Neox

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #6 en: Miércoles 8 de Julio de 2009, 15:31 »
0
Me ha servido lo que me has dicho. Ahora la duda que tengo es la siguiente. Cada vez que doy a aceptar, quiero crear un nuevo paciente en tiempo de ejecucion. PAra ello me he creado una clase "CPaciente" en el form principal, pero me da un error. Pongo lo siguiente:
La acción al apretar "Aceptar" del form secundario es:

CPaciente *cliente=new CPaciente(NULL);

pero me da el siguiente error:

[C++ Error] MainDieta.cpp(26): E2034 Cannot convert 'int' to 'CPaciente'
[C++ Warning] MainDieta.cpp(28): W8004 'cliente' is assigned a value that is never used

¿Qué podria ser??

muchas gracias

witchyfairy

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Datos de un form a otro
« Respuesta #7 en: Viernes 24 de Julio de 2009, 18:37 »
0
Tengo la misma duda que el compañero forista la cosa es que yo necesito declarar otro tipo de varialble como estructuras y enteros y al quere hacerlo me da un error ya que solo me deja declarar AnsiString otro metodo para hacer lo mismo??? Ayuda por favor!!!