Lecture de clef, random, bool, Trim(), Substring() et compagnie

N3N3SS Messages postés 16 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 6 janvier 2010 - 6 nov. 2008 à 15:13
N3N3SS Messages postés 16 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 6 janvier 2010 - 8 nov. 2008 à 23:42
Salut tt le monde !
Après avoir fini la version 1.0.0.1 de mon pti  ""''KeyGen""'' je me suis lancé dans le log pour vérifier la validité des clés produites...
Je vous passe dessuite mon code, la clef doit être fournie sous la forme 'xxxx - xxxx - xxxx' :

 String lectkey1, lectkey2, lectkey3;
 bool Arivéevalide = false; String espacement1 " - ", espacement2 " - "; // Je défini les espacement à fin de pouvoir les comparer et en afficher la valeur plusfacilement
 String prem, deuz;

 Arivéeclef.Trim();
 String Arivéeclef = chmpKey.ToString();

            prem = Arivéeclef.Substring(4, 3);
            deuz = Arivéeclef.Substring(11, 3);
            lectkey1 = Arivéeclef.Substring(0, 4);
            lectkey2 = Arivéeclef.Substring(7, 4);
            lectkey3 = Arivéeclef.Substring(14, 4);
            if (espacement1 prem && espacement2 deuz)
            {
                Arivéevalide = true;
            }

            else
            {
                Arivéevalide = false;
            }

            if (Arivéevalide == false || Arivéeclef.Length != 18)
            {
                MessageBox.Show("La clef entrée n'est pas valide, sa structure n'est pas égale à celle demandée [xxxx - xxxx - xxxx]", "Clef incorecte", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            else
            {
                chmpKey.Text = "Entrée égale à : " + chmpKey.Text + Arivéevalide + espacement1 + espacement2 + Arivéeclef.Length;
            }

#########################################################################################################

Les points noirs sont la booléenne qui est toujours 'false' et la lecture des espacement (utilisation de Substring()), aprés sa si vous avez des com à faire sur mon code n'hésitez pas

Merci d'avance, N3N3SS.

6 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
6 nov. 2008 à 15:41
Salut,
Oula, non faut pas faire comme ca
Regarde plutôt du coté de la MaskedTextBox et des expressions régulières...

<hr />
-Blog-
-WebSite-
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
6 nov. 2008 à 15:48
Salut,

Je te propose :
1--> faire une expression régulière pour tester ton code ca sera plus propre et maintenable je pense.
Cette expression réguliere fera la validation.

2 --> Utiliser l'instruction Split(espacement1) --> Un tableau

3 --> Remplacer --> plus de visibité et de performance
    chmpKey.Text = "Entrée égale à : " + chmpKey.Text + Arivéevalide + espacement1 + espacement2 + Arivéeclef.Length;

par une chaine sous la forme (string.format plus propre
  chmpKey.Text = String.Format("Entrée égale à : {0} - {2} - {3} , chmpKey.Text,......);

4 --> Mettre espacement1 en constante.
5--> Déclarer explicitement les variables évité de faire string a, b; --> plus de visibilité

Bon coding
0
N3N3SS Messages postés 16 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 6 janvier 2010 1
8 nov. 2008 à 15:44
Salut tout le monde.
Je n'ai aucune notion à propos des expressions régulières...
Et puis me dire que faut pas faire comme sa sans m'expliquer pourquoi c'est un peu light
Merci pour vos réponses j'essayerai de me renseigner pour les expressions régulieres.
MAIS, si qq pouvait me dire pourquoi "Fo pas faire com sa..." sa serait simpa :)
Merci à tous, ++, N3N3SS.
0
N3N3SS Messages postés 16 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 6 janvier 2010 1
8 nov. 2008 à 15:52
Re !
Bon j'ai jeté un coup d'œil sur un tuto à propos des expressions régulières, je lirai sa en cours de Français lundi
Je donnerai des nouvelles d'ici peu, je ne doute pas de mes extraordinaires capacités à ne pas savoir comment faire
ciao, N3N3SS.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
8 nov. 2008 à 20:51
@N3N3SS Ta remarque est injustifiée car bidou te conseille des manières plus propres de resoudre ton problème.

Ce qui est sous entendu, c'est qu'il ne faut pas réinventer la roue quand des choses existent dans les langages.
Après pour ma part c'est plutôt des bonnes pratiques que j'ai mentionnées de façon à ce que tu progresses.

Bon Coding
 
0
N3N3SS Messages postés 16 Date d'inscription vendredi 21 mars 2008 Statut Membre Dernière intervention 6 janvier 2010 1
8 nov. 2008 à 23:42
Re !
C'est vrai que c'est simpa de me mettre au courant pour les expressions régulieres, et je vous en remercie, mais ma question était à propos d'un certain code;
Il(vous) m'avertit(ssez) qu'il y a une méthode plus rapide, plus simple et plus efficace OK, mais ma question reste toujours le meme : pourquoi ma méthode(aussi innapropriée soit-elle) ne marche pas ? ;
Quand à tes conseils nhervagault ils seront toujours les bienvenus ainsi que ceux de n'importe qui ;
Je vous remercie tous encore une fois pour vôtre aide ;
++, N3N3SS;
0
Rejoignez-nous