SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: hire en Lunes 2 de Julio de 2007, 05:13

Título: Como Leo En La Unit1 Un Puntero De La Unit2??
Publicado por: hire en Lunes 2 de Julio de 2007, 05:13
Código: Text
  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5. #include "Unit1.h"
  6. #include "Unit2.h"
  7. #include <inifiles.hpp>
  8. //---------------------------------------------------------------------------
  9. #pragma package(smart_init)
  10. #pragma link "MidiOut"
  11. #pragma resource "*.dfm"
  12. TForm2 *Form2;
  13. TIniFile *botones;
  14. AnsiString a,b;
  15. char c[1];
  16.  
aqui tengo declarado el puntero TIniFile *botones en la unit2 y quiero que ese puntero lo pueda leer en la unit1... como lo hago >.<???
Título: Re: Como Leo En La Unit1 Un Puntero De La Unit2??
Publicado por: Yañez en Lunes 2 de Julio de 2007, 09:27
Hola...


Utiliza la búsqueda, esa consulta se ha hecho varias veces ya...

Aquí (http://foros.solocodigo.com/index.php?showtopic=29550&hl=publica) tienes un enlace a una de esas búsqueda, aquí (http://foros.solocodigo.com/index.php?showtopic=29259&hl=publica) tienes otro...


Saludos  :hola:

 :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp:
Título: Re: Como Leo En La Unit1 Un Puntero De La Unit2??
Publicado por: hire en Martes 3 de Julio de 2007, 03:13
muchas gracias yañez por la respuesta... pero vi el foro entero de c++builder antes de postear...


y no me funcionaron esas soluciones...:(:(:(


alguien puede ayudarme???
Título: Re: Como Leo En La Unit1 Un Puntero De La Unit2??
Publicado por: Yañez en Miércoles 4 de Julio de 2007, 12:19
OK. Prueba esto:

Código: Text
  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #ifndef Unit2H
  5. #define Unit2H
  6. //---------------------------------------------------------------------------
  7. #include &#60;Classes.hpp&#62;
  8. #include &#60;Controls.hpp&#62;
  9. #include &#60;StdCtrls.hpp&#62;
  10. #include &#60;Forms.hpp&#62;
  11. #include   &#60;inifiles.hpp&#62;
  12.  
  13. //---------------------------------------------------------------------------
  14. class TForm2 : public TForm
  15. {
  16. __published:  // IDE-managed Components
  17. private:  // User declarations
  18.         TIniFile *ini;
  19.  
  20. public:    // User declarations
  21.     __fastcall TForm2(TComponent* Owner);
  22.         void obtener(AnsiString seccion, AnsiString variable, AnsiString valor)
  23.         {
  24.         ini = new TIniFile(&#34;C:&#092;&#092;ARCHIVO.ini&#34;);
  25.         ini-&#62;WriteString(seccion, variable, valor);
  26.         }
  27. };
  28. //---------------------------------------------------------------------------
  29. extern PACKAGE TForm2 *Form2;
  30. //---------------------------------------------------------------------------
  31. #endif
  32.  
  33.  

Observa que lo que he hecho es agregar en el encabezado la línea:
Código: Text
  1.  
  2. #include   &#60;inifiles.hpp&#62;
  3.  
  4.  

Luego, declaro el puntero ini.. (En private:)
Código: Text
  1.  
  2.         TIniFile *ini;
  3.  
  4.  

Y finalmente, creo una función pública:
Código: Text
  1.  
  2.         void escribir(AnsiString seccion, AnsiString variable, AnsiString valor)
  3.         {
  4.         ini = new TIniFile(&#34;C:&#092;&#092;ARCHIVO.ini&#34;);
  5.         ini-&#62;WriteString(seccion, variable, valor);
  6.         }
  7.  
  8.  

Esta última función recibe tres parámetros y escribe en archivo.ini. La puedes modificar a tu gusto para que escriba, lea o haga otras cosas. O si te es más fácil crear una función pública para cada cosa que quieras hacer.

Ahora solo tienes que llamarla desde el otro formulario, para ello incluyes el archivo que contiene la función pública...
Código: Text
  1.  
  2. #include &#34;Unit2.h&#34;
  3.  
  4.  

y la llamas....
Código: Text
  1.  
  2. Form2-&#62;escribir(&#34;Seccion&#34;, &#34;Variable&#34;, &#34;3&#34;);
  3.  
  4.  

Esto tendría que servirte... :hola:

 :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp: