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

VB.NET Discussion :

Générer 8 caractères de chiffres et de lettre [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Points : 9
    Points
    9
    Par défaut Générer 8 caractères de chiffres et de lettre
    Bonjour,

    Je voudrais un code qui permet de générer des lettres majuscules et des chiffres (exemple: 3 ou 9) au hasard lorsque je clique sur un bouton. Je voudrais ce ça génère 8 caractères maximum dans un TextBox. J'ai déjà utilisé des codes mais sois il y a des erreurs ou sois sa ne marche pas !

    Pouvez-vous m'aider, en fournissant un code ?

    Merci,
    Mael

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    ceci est juste un problème d'algorithmie de base

    pour faire une chaine de 8 caractères aléatoire, il faut faire 8 fois un choix d'un caractère parmis une liste aléatoirement (tableau ou collection contenant tout ce qu'on a le droit d'utiliser)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim carsPossibles = "ABCDEFGHIJKMNOPQRSTUVWXYZ0123456789"
    et il y a la classe random qui permet d'avoir un numéro alétoire
    avec concaténation et boucle for

  3. #3
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour mael21,

    Tu peux utiliser cette technique très simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
       'Déclaration et initilisation de la variable rdn qui permettra de retourner grâce à la méthode ".Next" (de la classe Random) un nombre aléatoire.
       Private rdn As Random = New Random()
       'Déclaration et affectation de la variable str qui contient les caractères alphanumériques.
       Private str$ = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789"
       Private Function randomString(length%) As String
            'On déclare un tableau pouvant contenir 8 élément de type "Char"
            Dim buffer As Char() = New Char(length - 1) {}
            'On boucle 8 fois afin d'affecter à l'élément du tableau la valeur d'un caractère contenu dans la variable str
            For i As Integer = 0 To length - 1
                buffer(i) = str(rnd.Next(str.Length))
            Next
            'On retourne le résultat obtenu sous forme de chaine
            Return New String(buffer)
        End Function

    Ou bien celle-ci un peu plus avancé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Private rdn As Random = New Random()
        Private Function randomString(length%) As String
            Return New String(Enumerable.Repeat("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789", length).Select(Function(s) s(rdn.Next(s.Length))).ToArray())
        End Function

    Comment utiliser l'une ou l'autre des fonctions citées supra :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      MsgBox(randomString(8))
    A+

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    il est étudiant, si on lui donne du code tout fait je ne pense pas qu'il va apprendre grand chose, surtout du code de ce niveau sans explication !

  5. #5
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    il est étudiant, si on lui donne du code tout fait je ne pense pas qu'il va apprendre grand chose, surtout du code de ce niveau sans explication !
    Oui je te l'accorde. On va remédier à tout ça...

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    après sur un truc qui s'invente pas je veux bien croire que donner le code est le plus simple
    mais là c'est des bases d'algo et sans ca il n'arrivera jamais à rien, linq et les fonctions anonymes ca vient après ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] expression 6 caractères : 3 chiffres et 3 lettres
    Par van-bom dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2013, 13h28
  2. Réponses: 3
    Dernier message: 20/08/2012, 17h35
  3. [RegExp] interdire caractères et chiffre avant un lettre
    Par snip74 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/12/2010, 12h17
  4. Réponses: 4
    Dernier message: 24/05/2010, 13h06
  5. Comment générer un mot de passe composé de lettre et chiffre ?
    Par Ekimasu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/05/2007, 16h09

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