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++Builder Discussion :

Switch avec des variables


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    20
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Par d�faut Switch avec des variables
    Bonjour, voici le code qui pose probl�me � Builder (ahlala les limites du C++) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    switch(Msg.WParam)
        {
            case alpha : Affiche1(); break;
            case beta : Affiche2(); break;
            case ceta : Affiche3(); break;
        }
    Le switch attend dans les case des constantes alors que l� je veux mettre mes variables, ces variables contiennent un caract�re.
    alpha <-- 'A'
    beta <-- 'B'
    ceta <-- 'C'

    L'utilisateur pourra modifier le caract�re comme il le souhaite, c'est pour cela que j'utilise ces variables pour les associer � une commande.

    Msg.WParam est de type entier.
    alpha, beta, ceta de type caract�re.

    Le switch fonctionne d�s lors que l'on remplace les variables par un caract�re :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    case 'A' : Affiche1(); break;
    case 'B' : Affiche2(); break;
    case 'C' : Affiche3(); break;
    Comment je peux forcer l'utilisation de mon switch avec les variables ?
    Merci.

  2. #2
    Membre exp�riment�
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    20
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Par d�faut
    Je sais, j'utilise deja �a pour des AnsiString mais l� je suis avec des entiers, je ne compare pas de cha�nes de caract�res !
    Je crois que je vais faire �a avec la bonne vieille m�thode :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (Msg.WParam == alpha) Affiche1();
    else if (Msg.WParam == beta) Affiche2();
    else if (Msg.WParam == ceta) Affiche3();

  4. #4
    Membre exp�riment�
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par d�faut


    Ca doit etre la faim qui me fait dire n'importe quoi

    Effectivement, le 'case' necessite obligatoire une constante

    par contre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (Msg.WParam == alpha) Affiche1();
    else if (Msg.WParam == beta) Affiche2();
    else if (Msg.WParam == ceta) Affiche3();
    fonctionne aussi bien sans les else ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (Msg.WParam == alpha) Affiche1();
    if (Msg.WParam == beta) Affiche2();
    if (Msg.WParam == ceta) Affiche3();
    lanonyme

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    20
    D�tails du profil
    Informations personnelles :
    �ge : 41

    Informations forums :
    Inscription : Mai 2006
    Messages : 20
    Par d�faut
    C'est pas faux
    Ca revient au m�me de toute fa�on !
    Comme quoi il faut pas chercher bien loin des fois.

  6. #6
    Membre �m�rite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par d�faut
    Bonjour,
    Citation Envoy� par lanonyme

    par contre :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (Msg.WParam == alpha) Affiche1();
    else if (Msg.WParam == beta) Affiche2();
    else if (Msg.WParam == ceta) Affiche3();
    fonctionne aussi bien sans les else ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    if (Msg.WParam == alpha) Affiche1();
    if (Msg.WParam == beta) Affiche2();
    if (Msg.WParam == ceta) Affiche3();
    lanonyme
    Oui, mais avec l'inconv�nient qu'il fera tous les tests encha�n�s, alors qu'avec des
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if (...) {...}
    else if (...)
    etc...
    Les tests stopperont d�s qu'on aura trouv� le bon

  7. #7
    Membre exp�riment�
    Avatar de lanonyme
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    229
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 229
    Par d�faut
    Citation Envoy� par thewho
    Les tests stopperont d�s qu'on aura trouv� le bon
    Oui effectivement, enfin je trouve que pour la visibilit� l'enchainement de if va mieux.
    Toutefois, si on veut vraiment optimiser le code alors oui faire des if else if.

    Enfin, �a marche dans les deux cas c'est le principal

    lanonyme

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 28/11/2005, 12h03
  2. Remplir les cellules Excel avec des variables VB
    Par rupeni dans le forum Macros et VBA Excel
    R�ponses: 7
    Dernier message: 21/11/2005, 09h31
  3. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    R�ponses: 4
    Dernier message: 02/04/2005, 13h45
  4. param�trer ADOConnection avec des variables
    Par ouckileou dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 23/04/2004, 08h11
  5. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de donn�es
    R�ponses: 3
    Dernier message: 08/03/2004, 22h35

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