Bonjour, je d�bute en c++, j'utilise Visual c++ et j'ai un ptit prob...
je voudrais savoir comment d�clar�r un tableau de char au chargement de mon appli et qu'il soit accessible pour modification dans la proc�dure d'un button_click
merci d'avance.
Version imprimable
Bonjour, je d�bute en c++, j'utilise Visual c++ et j'ai un ptit prob...
je voudrais savoir comment d�clar�r un tableau de char au chargement de mon appli et qu'il soit accessible pour modification dans la proc�dure d'un button_click
merci d'avance.
Salut !
2 solutions (au moins en tout cas):
- tu d�clares ta variable en tant que membre de la classe li�e � la fiche o� il y a ton bouton par ex, et ensuite tu l'utilises comme tout membre de cette classe (en l'ayant par ex initialis� dans le constructeur)
- OU tu d�clares ta variable en extern (variable globale) et tu l'utilises partout o� tu veux...
A+
pourrais-je avoir un peu plus de d�tails...je d�bute...
merci.
Bon, je pars du principe que tu utilises ClassWizard pour cr�er une application de type boite de dialogue, donc mes explications sont bas�es sur les noms donn�s automatiquement par CW aux �l�ments de ton application.
Clique sur l'onglet "ClassView" et choisit la classe associ�e � ta boite de dialogue (regarde mon exemple ci-dessous), et rajoute la d�claration de ton tableau en tant qu'attribut de cette classe:
Ensuite, tu n'as plus qu'� utiliser ton tableau dans la fonction associ�e � l'�vennement correspondant au clic sur ton bouton:Code:
1
2
3
4
5
6
7
8
9
10
11 // CDial1Dlg dialog class CDial1Dlg : public CDialog { char tab[10]; // Déclaration du tableau // Construction public: CDial1Dlg(CWnd* pParent = NULL); // standard constructor ...
Si j'ai bien compris ce que tu veux faire, �a devrait aider je crois.Code:
1
2
3
4
5
6 void CDial1Dlg::OnOK() { // TODO: Add extra validation here tab[5]=2; // Accès au tableau ...
et pour une variable globale :
Dans ton fichier .h ou .cpp, met en dehors de la d�claration de ta classe :
----> tu y as ainsi acc�s partout dans ta classe.Code:char tableauToto[100] ;
Par contre pour l'initialisation au d�marrage, rien ne vaut mieux que de l'initialiser dans le constructeur de ta classe :
:DCode:
1
2
3
4
5
6 CTaClasse::CaTaClasse() { int i ; for (i = 0 ; i < 100 ; i++) tableauToto[i] = "0" ; }
Alice
Quelques remarques:
- �vite les variables globales. Le fait qu'on puisse y acc�der depuis n'importe est justement un probl�me : on ne sait pas qui fait quoi...
- en C++, pour les tableaux, on pr�f�re utiliser std::vector (ou CArray en MFC...) : http://c.developpez.com/faq/cpp/?page=STL#STL_vector
- d�finir le tableau dans le .h peut provoquer des erreurs de link (multiple d�finitions)