C/Visual C - Variables globales

 
Vista:

Variables globales

Publicado por N (8 intervenciones) el 26/02/2002 11:19:05
Necesito tener varias variables globales en el programa y no sé dónde ni cómo declararlas para que sean accesibles desde todas las funciones.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Variables globales

Publicado por Alexis Leung (70 intervenciones) el 26/02/2002 18:44:43
Se ve que estás empezando en este lenguaje...lo de tu pregunta es muy fácil solo debes ponerlo (aunque no necesariamente) al principio del programa depués de los include o define si las hay.

Asi:

#include <stdio.h>

/* variables globales */
int entero;
char *cad = "Hola a Todos";

/* prototipos de funciones */
void saludo();

/* funcion principal */
int main()
{
saludo();

return 0;
}

void saludo()
{
printf("%s",cad);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Variables globales

Publicado por N (8 intervenciones) el 27/02/2002 09:31:54
Lo que pasa esque estamos utilizando Visual C++, no C y no se hace así. Necesitamos una variable que se pueda comunicar con todas las funciones y las clases vista y documento, como variable miembro de la clase aplicación no se puede hacer, y de momento hemos recurrido al uso de ficheros, pero lo queremos mejorar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Variables globales

Publicado por ialtza (3 intervenciones) el 27/02/2002 19:08:32
Prueba esto:

- defines las variables en la clase CMainFrame, por ejemplo:
...
// Atributes
public:
int n;
...

- luego para poder acceder a ellas desde otra clase, haces lo siguiente:

...
CMainFrame * p_main= (CMainFrame*)AfxGetMainWnd();
p_main->n = 0;
...

Espero que te sirva de algo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Variables globales

Publicado por Josep (29 intervenciones) el 27/02/2002 20:04:21
Si quieres declarar variables globales lo puedes hacer de la siguiente manera:

- crea un módulo nuevo pero al estilo c:

--------------------archivo.h--------------------------------------
#if !defined(VARIABLES_GLOBALES)
#define VARIABLES_GLOBALES

int vg_iEntero; // notación hungara: VariableGlobal (vg)

void incrementaEntero(); // función global.
#endif

--------------------archivo.cpp------------------------------------
#include "GdE.h"
#include "stdafx.h"

// función global.
void incrementaEntero()
{
vg_iEntero = vg_iEntero + 1;
}

- los incluyes en el Proyecto de VC++
Accedes al menú FileView del Worksheet. Ponte encima de "Source files" y pulsas el boton derecho del mouse, seleccionas "Add Files to Folder..." y seleccionas el archivo "archivo.cpp".
Lo mismo con el "Header Files".

Una vez hecho esto podras ver que en la carpeta Globals aparecen las funciones y variables que has declarado.

Espero que te haya ayudado en tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Variables globales

Publicado por N (8 intervenciones) el 28/02/2002 11:13:55
Hemos probado lo que tú nos has dicho y no podemos acceder a la variable global. Al acceder desde una función del menú principal nos dice que esa variable no está declarada (y hemos puesto el include por supuesto). Aunque aparece en la carpeta globals luego no podemos acceder a ella desde otro sitio. ¿Hay que acceder de alguna manera especial a las variables globales?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar