IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

déclaration de variable public


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 52
    Points
    52
    Par défaut déclaration de variable public
    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.

  2. #2
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    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+
    "Cultiver les sciences et ne pas aimer les hommes, c'est allumer un flambeau et fermer les yeux." Proverbe chinois

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Points : 52
    Points
    52
    Par défaut
    pourrais-je avoir un peu plus de détails...je débute...
    merci.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 34
    Points : 40
    Points
    40
    Par défaut
    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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    ...
    Ensuite, tu n'as plus qu'à utiliser ton tableau dans la fonction associée à l'évennement correspondant au clic sur ton bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void CDial1Dlg::OnOK() 
    {
    	// TODO: Add extra validation here
    	tab[5]=2;	// Accès au tableau
    ...
    Si j'ai bien compris ce que tu veux faire, ça devrait aider je crois.

  5. #5
    Membre régulier
    Avatar de Alice9
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2004
    Messages : 124
    Points : 85
    Points
    85
    Par défaut
    et pour une variable globale :

    Dans ton fichier .h ou .cpp, met en dehors de la déclaration de ta classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char tableauToto[100] ;
    ----> tu y as ainsi accès partout dans ta classe.

    Par contre pour l'initialisation au démarrage, rien ne vaut mieux que de l'initialiser dans le constructeur de ta classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CTaClasse::CaTaClasse()
    {
       int i ;
       for (i = 0 ; i < 100 ; i++)
            tableauToto[i] = "0" ;
    }


    Alice
    Alice

    A coeur vaillant, rien d'impossible !

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 671
    Points
    10 671
    Billets dans le blog
    3
    Par défaut
    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)

Discussions similaires

  1. déclaration d'une variable public
    Par meldja dans le forum IHM
    Réponses: 4
    Dernier message: 17/03/2009, 14h02
  2. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18
  3. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  4. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  5. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo