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

Signaler
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
-
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
-
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.
A voir également:

6 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
48
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-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
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
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
1
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.
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
1
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.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
@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
 
Messages postés
16
Date d'inscription
vendredi 21 mars 2008
Statut
Membre
Dernière intervention
6 janvier 2010
1
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;