begin process at 2008 09 06 18:59:04
1 237 887 membres
272 nouveaux aujourd'hui
14 314 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Switch case Bug ? [ Archives / Au secours ] (bip98)

Switch case Bug ? le 12/04/2005 14:25:33

bip98

Je comprends vraiment pas..

j'ai ce code:

 foreach(char c in Text_affiche)
   {
     fichier=@"D:\TIP_Info\Shema_images\Lettre";
     StringBuilder ajouter = new StringBuilder(fichier);

     switch(c)
      {
     case 'a' :
     case 'A' : ajouter.Append(@"\a.xml");
                    fichier=ajouter.ToString();
                    Fonction_lettre_insert();
                    break;

     case 'b':
     case 'B':  ajouter.Append(@"\b.xml");
                    fichier=ajouter.ToString();
                    Fonction_lettre_insert();
       break;

ect.... jusqu'à Z...

    default : break;
  }

Mon problème c'est que quand je met par exemple "3" donc un carractère qui n'existe pas.. il devrait aller sur default.. mais il va toujours sur la lettre "t" la 20ème de l'alpha... pourquoi ??




Re : Switch case Bug ? le 12/04/2005 15:02:28

MorpionMx
Membre Club
(Admin CS)
J'ai essayé ceci, et il m'affiche bien "defaut" :

                switch('3')
                {
                    case 'a' :
                    case 'A' :
                        MessageBox.Show("a");
                        break;

                    case 'b':
                    case 'B': 
                        MessageBox.Show("b");
                        break;

                    case 't':
                    case 'T': 
                        MessageBox.Show("t");
                        break;

                    default :
                        MessageBox.Show("defaut");
                        break;
            }


Essaie de faire des tests avec d'autres caracteres alpahnumériques, pour t'aider a situer le probleme

Mx

Re : Switch case Bug ? le 12/04/2005 15:02:55

bip98
Encore une question sur le sujet un peu louche !

quand j'écris rien dans mon texte box et que je fais:
Text_affiche=TextBox.ToString()

et après j'affiche:
Text_affiche.Length

il me met: 36

donc il commence à 36 !! pourquoi ???? il devrait être à 0 !


Re : Switch case Bug ? le 12/04/2005 15:30:21

MorpionMx
Membre Club
(Admin CS)
Réponse acceptée !
Non c'est normal, as tu regardé ce que te rapportait TextBox.ToString(); ???
Essaie pour voir.

Je crois que ce que tu veux faire, c'est TextBox.Text.ToString(); et là la propriété Length te rapportera bien 0.

Mx

Re : Switch case Bug ? le 12/04/2005 15:37:03

MorpionMx
Membre Club
(Admin CS)
Réponse acceptée !
Pas besoin du ToString, suis-je bete

Text_affiche = TextBox.Text

Mx

Re : Switch case Bug ? le 12/04/2005 16:06:01

bip98
.... je suis trop ....

merci !!

Il fallait bien faire: Text_affiche = TextBox.Text.ToString(); <-- le ToString oubliger de le mettre quand même..
au lieu de : Text_affiche=TextBox.ToString();

Et ca règle même mon problème de switch du coup !!!

Re : Switch case Bug ? le 12/04/2005 18:48:23

sebseb42
Excuse moi, ca ne serait pas mieux de faire ceci :

foreach(char c in Text_affiche)

{
    fichier = @"D:\TIP_Info\Shema_images\Lettre";
    StringBuilder ajouter = new StringBuilder(fichier);

    ajouter.Append(@"\" + c.ToString().ToLower() + ".xml");
    fichier=ajouter.ToString();
    Fonction_lettre_insert();
}

Cette ligne :

    ajouter.Append(@"\" + c.ToString().ToLower() + ".xml");

peut-etre replacer par :

    ajouter.Append(string.Format(@"\{0}.xml", c.ToString().ToLower());

ou encore par :

    if (c >= 'A' && c <= 'Z')
       c += 32;    // mise en minuscule
    ajouter.Append(@"\" + c + ".xml");
    // ou
    ajouter.Append(string.Format(@"\{0}.xml", c);





Classé sous : fichier, case, ajouter, lettre, switch

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS