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 :

Choix entre 2 typedef de taille différente, à l'exécution


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Par défaut Choix entre 2 typedef de taille différente, à l'exécution
    Merci de m'accueillir parmi vous. Je débute et j'aimerai svp avoir de l'aide.
    Voici mon problème:
    Je dispose de 2 structures différentes, et j'aimerai que le programme
    utilise une ou l'autre définition, selon le paramètre passé en ligne de commande.
    Pour des raisons propre au programme, j'aimerai conserver le même nom d'identificateur pour les 2 structures.

    Je m'explique:

    Dans unit1.cpp, form principale, j'ai mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall TForm1::FormCreate(TObject *Sender) {
     
    ....
    	MODEL_REC = N_MODEL_A;
    	if (LowerCase(ParamStr(1)) == "-modeleb") 
    		MODEL_REC = N_MODEL_B;
    ....
     
    }
    On voit que, par défaut (sans aucune ligne de commande), MODEL_REC = N_MODEL_A.
    Si par contre, on exécute: MonProg.exe -modeleb, alors MODEL_REC prend la valeur N_MODEL_B.


    Dans unit1.h, je dispose de:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    #ifndef Unit1H
    #define Unit1H
     
      #define N_MODEL_A    0
      #define N_MODEL_B    1 
     
    // etc....
     
    typedef struct {
    	int  Port;
    	char User[30];
    	char Pass[20];
    }S_MODEL;
     
     
    /* Le choix doit porter sur les 2 structures ci dessous */
    /*=========================================*/
     
     
     /* définition de la structure MODEL_S par défaut. MODEL_REC = N_MODEL_A */
     
       typedef struct {
    	char name[20];
    	int  numero;
    	S_MODEL Model_Actif;
        }MODEL_S;
     
     
    /* définition de la structure MODEL_S  si paramstr(1) = "-modeleb*/
     
       typedef struct {
    	char name[40];
    	int  numero;
            char MyKey[14];  
    	S_MODEL Model_Actif;
      }MODEL_S;
     
    private:	// User declarations
     
    public:	// User declarations
    		 int MODEL_REC;
    		__fastcall TForm1(TComponent* Owner);
     
    };
     
    extern PACKAGE TForm1 *Form1;
     
    #endif
    Comment je dois disposer les définitions, en tenant compte que je suis obligé de garder le même nom d'identificateur, en l'occurence, MODEL_S
    Merci beaucoup pour votre aide. Y a t'il une autre astuce ? Merci encore.

  2. #2
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Par défaut
    J'ajoute que l'élément MyKey[14] n'est pas utilisé du tout dans le programme.
    Seuls les éléments de même nom sont utilisés. (name, numero et Model_Actif) .

    J'aimerai avoir à manipuler qu'une seule variable (MyData) que je déclare dans une autre fiche (unit2.cpp) (les relations entre unités étant faites bien sûr)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    static MODEL_S MyData
    Finalement, ma question pourrait être: Comment redéfinir un typedef à l'exécution ?

    Je ne sais pas si je me fais comprendre

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/05/2011, 18h02
  2. Réponses: 3
    Dernier message: 08/12/2009, 19h44
  3. Correspondance entre deux vecteurs de taille différente
    Par MisterK dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 31/03/2008, 17h07
  4. [FEDORA] choix entre différente architecture
    Par PC81 dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 17/03/2007, 21h38
  5. [XML] Choix entre différentes structures de fichier XML
    Par loic_86 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 21/02/2007, 05h39

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