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 :

Envoie d'un couple <variable>,<valeur> � plusieu


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Communication & Webservices
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par d�faut Envoie d'un couple <variable>,<valeur> � plusieu
    Bonjour,
    J'ai un petit soucis en ce qui concerne l'envoie de param�tre.
    Je r�alise un petit programme qui poss�de un fichier de configuration.
    Je r�cup�re bien tous les champs selon la forme (<variable>,<valeur>) par une fonction mais j'ai un petit soucis pour les envoyer � mes diff�rentes classes.
    En effet, j'ai 5 - 6 classes (1 qui me sert de main principal et les autres sans h�ritage) pour le moment (avec leurs accesseurs), mais il faudrait que j'envoie le premier couple (var - valeur) � ma premiere classe par exemple, le second � ma troisieme classe, le troisieme couple � ma 4eme classe ainsi de suite.
    J'ai pens� � retourner ma valeur pr�c�d�e d'un indice (0200 o� 0=premier parametre et 200 la valeur) mais je ne trouve pas �� tr�s propre.

    Merci d'avance

  2. #2
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 297
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 297
    Billets dans le blog
    2
    Par d�faut
    Ce n'est pas tr�s clair tout �a
    Pourrais-tu donner plus de pr�cision?

  3. #3
    Membre confirm� Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Communication & Webservices
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par d�faut
    Je vais essayer d'eclaircir la chose:
    • - j'ai une classe qui me sert de "main" pour me generer et gerer mes autres classes qui sont independantes
      - 5 - 6 classes independantes (class A, B, ... par exemple) avec des attributs priv�s et leurs accesseurs respectifs (attribut int nombre et accesseur Setnombre(int) et Getnombre par exemple)
      - une derniere classe Fichier (contenue dans fic.cpp) qui me sert pour lire le fichier de configuration (conf.txt par exemple)

    Fic.cpp lit ce fichier ligne par ligne, enleve les commentaires (merci � votre FAQ) et me donne, dans un premier temps la variable, et dans un second temp la valeur associ�e. J'ai mis la variable dans un string temporaire et appelle une seconde fonction qui a en parametre var et valeur:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    void Fichier::Trait_Mot(string var,string val)
    Comme il y a plusieurs param�tres � lire (en gros, 4 pour chacune de mes classes �voqu�es en seconde position plus haut), cette fonction est appel�e 4(nb_parametre)*5(nb_classe) fois car ces parametres sont les attributs de ces classes.
    J'aimerais donc que, selon la variable, cette fonction Trait_mot mette � jour mes attributs de mes classes (surement en passant par mes accesseurs) mais je ne sais pas comment faire pour appeler mes accesseurs:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    if(var=="attribut_de_A")
      A.Setnombre=valeur ??
    Du coup, je pensais passer par un tableau � 2 colonnes intermediaires qui serait retourner par ma fonction Trait_mot, mais cel� surchargerait la m�moire ??

  4. #4
    Expert confirm�
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par d�faut
    Salut,

    J'avoue que je suis un peu perdu dans ce que tu veux faire! Qu'est que tu veux dire par "J'ai une classe qui me sert de "main". main est une fonction et non pas une classe, non?

    Si tu nous donnes un peu plus de code ou avec un sch�ma, �a pourrait nous aider. Meilleures salutations

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Membre confirm� Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Communication & Webservices
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par d�faut
    Effectivement, c'est pas facile de comprendre, mais je sais pas trop comment expliquer.
    Je vais essayer de faire une repr�sentation chronologique:
    1. une classe General o� j'ai un unique main qui me permet d'instancier toutes les classes
    2. une classe Fichier m'ouvre un fichier de configuration
    3. plusieurs classes (Document, Bloc, ...) ayant un attribut taille par exemple et les 2 accesseurs GetTaille et SetTaille

    Donc, dans mon main de ma classe General, j'ai par exemple:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Fichier Fic;
    Document D;
    Bloc B;
    Dans ce fichier de configuration, j'ai la taille de document et de bloc par exemple; donc j'aimerais que dans ma classe Fichier, une methode me sert � changer les attributs tailles des 2 classes (Document et Bloc par exemple), ce qui "reviendrait" � faire:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    void Fichier::Trait_Mot(string var,string val)
    if(var=="taille_Doc")
      D.SetTaille=valeur;
    J'ai bien pens� � passer en parametre la classe (enfin le pointeur), mais j'ai 6 classes minimum :-(
    A l'heure actuelle, � part de passer par un tableau (var,valeur) interm�diaire, je ne sais pas comment faire.

  6. #6
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    En g�n�ral, je d�finis une classe pour la gestion des arguments du programme et autres aspects de configuration (va boost.program_option quand je le peux -- contraintes projet ...).

    Et ensuite, soit je construis, en cascade, les �l�ments cl�s de mon appli avec ces options, soit je d�fini un singleton qui contiendra les options pour tous les autres objets de l'application.

    Dans la mesure du possible, je privil�gie la premi�re approche.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  7. #7
    Membre confirm� Avatar de Paniez
    Homme Profil pro
    Communication & Webservices
    Inscrit en
    Janvier 2003
    Messages
    186
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Communication & Webservices
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 186
    Par d�faut
    Citation Envoy� par Luc Hermitte
    En g�n�ral, je d�finis une classe pour la gestion des arguments du programme et autres aspects de configuration (va boost.program_option quand je le peux -- contraintes projet ...).
    C'est possible un exemple pour comprendre parce que l�, je vois pas du tout

  8. #8
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Le main() type devrait suffire.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int main(int argc, char**argv) {
        Parameters p(argc, argv);
     
        Logger l(p);
        TotoManager tom(l,p);
        TitiManager tim(l,p);
        Application a(l, tom, tim, p);
     
        return a.run();
    }
    Apr�s, tout d�pendra de chaque application pour ce qui est des d�pendances entre les divers objets cl�s -- on peut tout � fait d�placer les managers pour en faire des membres de l'objet application. C'est un d�tail. Parfois p�nible � r�gler si on d�cide p.ex. que le logger ainsi que tel ou tel autre manager est un singleton, ...

    Quant � la classe parameter, elle propose un accesseur (globalement en RO) sur toutes les options du programme. On peut tout � fait la d�couper en deux classes : une pour toutes les options et une qui d�crit les associations entre options et param�tres (argv) ou ficher de conf.

    On peut r�partir � l'infini. Je n'ai pas de recette d�finitive et cl� en main.

    NB: si tel ou tel manager (ici) n'a besoin que d'un ou deux arguments, pour �tre construit plut�t que de passer p, on peut passer tr�s uniquement ce qui est n�cessaire.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. R�ponses: 7
    Dernier message: 27/02/2014, 13h31
  2. [MySQL] Php-Mysql : ins�rer un couple de variables issu d'un checkbox
    Par seb38l dans le forum PHP & Base de donn�es
    R�ponses: 11
    Dernier message: 25/04/2012, 06h43
  3. Envoi de mails en vb + variables
    Par D�butant69001 dans le forum VBScript
    R�ponses: 4
    Dernier message: 29/05/2010, 17h07
  4. [Mail] Envoi d'un mail sans variable $_POST ?
    Par Jeystrash dans le forum Langage
    R�ponses: 4
    Dernier message: 24/09/2007, 18h28

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