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 :

problème de récupération de données à partir d'une autre classe


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut problème de récupération de données à partir d'une autre classe
    Bonsoir à tous, j'espère que vous êtes tous en forme

    j'ai un petit problème d'accès à une variable membre depuis une autre classe

    eh bien je suis entrain de remplir des CEdits d'une CDialog(C1) et je veux transmettre ces valeurs dans une autre classe(C2) pour prendre le tout et les mettre dans une table de ma base de données mais je n'arrive pas à le faire je réccupère des données vides.

    en fait dans la classe C2.h j'ajoute la ligne C1 m_c1;
    et dans C2.cpp je fait CString val=m_C1.m_valeur;
    alors je reçoit des messages d'erreurs est ce que cette méthode est correcte

    Merciii

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Bonjour, j'espère que tu as bien dormi et que toi aussi, tu es en forme Car visiblement, tu ne devrais pas programmer aussi tardivement

    Citation Envoyé par ziz2005
    en fait dans la classe C2.h j'ajoute la ligne C1 m_c1;
    et dans C2.cpp je fait CString val=m_C1.m_valeur;
    Si j'ai bien compris, C1 est ta boite de dialogue. C'est donc une classe qui hérite de CDialog. Si c'est bien le cas, la ligne m'apparaît personnellement comme hérétique. A moins que tu souhaite vraiment que C2 possède C1 (ce qui signifie que C2 instancie, affiche, détruit... bref, gère C1), ce dont je doute fort. Je pense qu'un serait plus approprié, mais tu ne donnes pas suffisamment de détail pour que je puisse en avoir le coeur net.

    Ensuite, toujours si C1 est une boite de dialogue: la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CString val=m_C1.m_valeur;
    me laisse perplexe. Qu'est-ce que m_valeur?
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    Oui tu as raison je ne me sens pas en forme moi
    bon merci pour tes remarques j'espère pouvoir expliquer plus

    CString val=m_C1.m_valeur;

    en fait m_valeur est une variable membre de ma CDialog1 correspondante à un CEdit .
    c'est ici mon problème de récupérer cette valeur et la transmettre à l'autre classe pour que je puisse insérer toutes mes variables dans une même tabe access insert into table('"+m_val+"',''m_valeur"');

  4. #4
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Je m'excuse, je ne comprends pas grand chose...

    Qu'est-ce que m_val?
    m_valeur est-il de type CEdit ou de type String?
    Combien de CEdit as-tu sur ta boite de dialogue?
    Comment est créée la boite de dialogue qui possède le(s) CEdit?
    ...
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    tu as raison je vais t'expliquer, regarde tout d'abord la pièce jointe

    je dispose d'une boite de dialogue dans la quel il y a des CEdit comme vous les voyez.
    en plus je crée dans cette boite une pictureCtrl où je met une propertysheet.
    dans cette propertySheet j'ajoute une page lorsque je fait ça une CDialog associée à la propertyPage se créé (c'est ce que vous voyez sur l'image) je lui ajoute des CEdit indiquant le status,gender, eMail etc..

    je veux que lorsque j'appuie sur OK de la boite de dialogue, les données seront transférées à une table access (les données sont PersonID,CardID,name,....,Status,gender,eMail)
    Images attachées Images attachées  

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    bonjour, r0d
    est ce que je n'ai pas bien expliqué le problème

    je suis bloqué
    est ce que quelqu'un peu m'aider

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    et ton probleme c'est quoi ?
    acceder a la boite de dialogue a partir de la propertypage ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    mon problème c'est de récupérer les variables de la CPropertyPage dans la classe de la CDialog principale pour les exploiter

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    est ce que c'est du charabia
    svp dite moi si ça ne marche pas comme ça je vais changer toute la structure, je mettrai quelque chaose plus simple
    malgré que j'ai besoin de mettre plusieurs pages dans cette propertySheet

    merrrrci

  10. #10
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    l'objet parent de la propertypage c'est la Propertysheet .
    le parent de la PropertySheet c'est la dialogue.
    donc tu as le choix des armes:
    c'est tu fais deux GetParent() d'affilé pour recuperer le pointeur sur la classe Dialogue.
    soit tu mets un pointeur de la classe dialogue dans les propertyPage...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // a partir de la PropertyPage.
    CWnd *pParent=GetParent();
    ASSERT(pParent && pParent->IsKindOf(RUNTIME_CLASS(CPropertySheet)));// juste pour l'exemple
    pParent=pParent->GetParent();
    ASSERT(pParent && pParent->IsKindOf(RUNTIME_CLASS(CDialog)));
    CMyDialog *pDialog=static_cast<CMyDialog *>(pParent);
    CMyDialog represente la classe de ta dialogue...
    A tester ,les assert (en debug) permettront de vérifier la justesse de la proposition...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 67
    Points : 48
    Points
    48
    Par défaut
    merci beaucoup !

    pour votre aide

Discussions similaires

  1. [Graphics View] Problème de récupération de QList<QGraphicsItem *> dans une autre classe
    Par ChevalierN dans le forum Débuter
    Réponses: 13
    Dernier message: 07/01/2012, 18h04
  2. Problème de récupération de données à partir d'une liste déroulante
    Par olivier777 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 25/10/2008, 09h50
  3. Récupération de données à partir d'une chekbox
    Par motard6 dans le forum Langage
    Réponses: 4
    Dernier message: 17/06/2008, 15h02
  4. [C#] Récupération de données à partir d'une combobox
    Par Choumy dans le forum Windows Forms
    Réponses: 10
    Dernier message: 09/02/2008, 17h51
  5. [MySQL] Problème de récupération de données issues d'une base
    Par ceaser dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/06/2007, 11h51

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