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

Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
- - Dernière réponse : 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.
Afficher la suite 

6 réponses

Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
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-
Commenter la réponse de cs_Bidou
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22
0
Merci
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
Commenter la réponse de nhervagault
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
1
0
Merci
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.
Commenter la réponse de N3N3SS
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
1
0
Merci
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.
Commenter la réponse de N3N3SS
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
22
0
Merci
@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
 
Commenter la réponse de nhervagault
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
1
0
Merci
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;
Commenter la réponse de N3N3SS