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

C++ Discussion :

Récupérer un paramètre


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut Récupérer un paramètre
    Bonjour,
    Je suis débutant en prog, et je voulais savoir comment faire pour récupérer les données de paramètres d'une fonction.
    Exemple (car je sais pas si je me fais bien comprendre), j'ai la fonction suivante qui permet de créer l'équation d'une droite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    double* CSignal::SetDroite(int A, int B)
    {
        for (int i=0; i<m_nN;i++)
        {
            m_pSignal[i]=A*((double)i)+B;
        }
        return m_pSignal;
    }
    Je rentre mes valeurs de A et de B dans une boite de dialogue et je voudrais savoir comment faire pour les récuperer et les utiliser dans une autre fonction

  2. #2
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    je voudrais savoir comment faire pour les récuperer et les utiliser dans une autre fonction
    Dans une autre fonction ? membre de ta classe ? ou en dehors de ta classe ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    Citation Envoyé par Lucien63
    Dans une autre fonction ? membre de ta classe ? ou en dehors de ta classe ?
    Ba les deux je vais en avoir dans ma classe et dans une autre classe pour faire du calcul matriciel

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Dans ta boite de dialogue, tu dois pouvoir accéder à a et à b sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    taboite->inputa->value;
    taboite->inputb->value;
    L'astuce, c'est que la valeur de value a de fortes chances d'être... une chaine de caractères (std::string, AnsiString ou autre, dépendemment de ta bibliotheque graphique), et qu'il s'agit donc de prévoir la transformation en tant qu'entier.

    Du coup, avant que ta boite de dialogue ne soit effectivement détruite, il s'agit de travailler sous une forme proche de (ici, je vai considérer que value est une std::string ... à adapter donc )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    /* on vérifie que l'utilisateur aura effectivement cliqué sur "ok"
       c'est évidemment à adapter selon ta bibliotheque graphique ;)
      */
    if(taboite->execute())
    {
        std::string stra=taboite->inputa->value();
        std::string strb=taboite->input->value();
        /* il faut maintenant convertir les valeurs en entiers...
          les stringstream nous viennent en aide sur ce coup là
          (mais peut etre ta bibliotheque graphique fournit elle une méthode
          qui lui est propre ?)
        std::istringstream ifsa(stra);
        std::istringstream ifsb(strb);
        /* a et b sont peut etre membre de la classe ;) */
        int a;
        int b;
        if(ifsa>>a !=0)
            throw notanumber("A doit etre un entier valide");
        if(ifsb>>b !:0)
            throw notanumber("B doit etre un entier valide");
        /* on peut maintenant appeler la fonction 
            et l'appel est, bien sur à adapter ;) */
        double resultat=SetDroite(a,b);
    }
    /* on peut libérer la mémoire de la boite
     */
    delete taboite;
    Les deux throw correspondent en fait à la gestion de l'erreur à effectuer si a ou b ne sont pas des entiers valides... qui devront sans doute etre gérés ailleurs
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Par défaut
    D'accord mais je comprend pas pourquoi on transforme le chaine de caractere en entier car dans ma boite je rentre directement les valeurs de A et de B qui sont des entiers.

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Tout simplement parce que, sauf erreur, et, dépendemment de ta bibliotheque graphique, la valeur introduite dans un champs modifiable par l'utilisateur est sous la forme d'une chaine de caractères...

    C'est le meilleur moyen pour autoriser l'utilisateur à introduire n'importe quoi, et donc à assurer un maximum de généricité
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] - Récupérer les paramètres passés à une application
    Par linuxludo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/11/2005, 14h41
  2. Réponses: 1
    Dernier message: 29/08/2005, 14h04
  3. [Débutant] Récupérer les paramètres d'une routine
    Par nifty dans le forum Assembleur
    Réponses: 5
    Dernier message: 18/04/2005, 14h35
  4. Récupérer un paramètre de strust-config.xml
    Par pegsounette dans le forum Struts 1
    Réponses: 3
    Dernier message: 18/11/2004, 11h40
  5. Réponses: 4
    Dernier message: 04/07/2003, 19h13

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