Generer aléatoirement ... des lettre ! C'est possible ?
Beny
-
ElementW Messages postés 5690 Statut Contributeur -
ElementW Messages postés 5690 Statut Contributeur -
Bonjour,
j'ai creer pas mal de "logiciel" en VBScript mais la je bloque ...
Mon problème :je sais comment générer un nombre aléatoirement mais des lettre ???
Voila mon script (tres cours mais sufisant pour se que je cherche ;) )
------------------------------------------------------------------------------------------
dim code
Randomize
code=Int((99999999*Rnd)+1)
msgbox "Le code crée est: "& code &"."
------------------------------------------------------------------------------------------
Voila en simplifier ( tres simplifier ;) )
Je shouaiterai generer nom pas des chiffre mais des lettre
Voila j'espere que vous trouverez un moyen
Merci ! :)
j'ai creer pas mal de "logiciel" en VBScript mais la je bloque ...
Mon problème :je sais comment générer un nombre aléatoirement mais des lettre ???
Voila mon script (tres cours mais sufisant pour se que je cherche ;) )
------------------------------------------------------------------------------------------
dim code
Randomize
code=Int((99999999*Rnd)+1)
msgbox "Le code crée est: "& code &"."
------------------------------------------------------------------------------------------
Voila en simplifier ( tres simplifier ;) )
Je shouaiterai generer nom pas des chiffre mais des lettre
Voila j'espere que vous trouverez un moyen
Merci ! :)
3 réponses
-
'lut, oui c'est parfaitement possible et pas trop dur à faire :)
Déjà il faut savoir qu'un caractère correspond à un nombre; pour les caractères Latins de base (dont notre alphabet sans les lettres accentuées), la Table ASCII est utilisée.
Supposons que tu veuilles une lettre majuscule; on part donc de 'A' soit 65.
Après, on génère un nombre aléatoire entre 0 et 25 (pas 26 sinon on pourrait arriver sur ']'), puis on ajoute 65, pour convertir ce nombre en caractère correspondant:Dim lettre As Char lettre = Chr(Int(25*Rnd()) + 65)
Après pour avoir un code, on enchaine les lettres au hasard puis les concatène:Dim code As String = "" For i As Integer = 0 To 9 code = code & Chr(Int(25*Rnd()) + 65) Next
from human import idiocy
del idiocy -
Bonjour Mon Ami,
c'est trés facile: avec le nombre aléatoire que tu génères soit tu affecte une lettre à chaque Chiffre du nombre au debut soit tu utilises les code Asscii de chaque lettres
par exemple si tu as obtenu un nombre=1234 tu fais un script qui soustrait 1 et 2 et 3 et 4
puis tu affecte à A=1 b=2 c=3 d=4 -
C'est justement ce que j'ai expliqué de façon plus concise dans ma réponse... De plus, séparer les chiffres d'un nombre n'est pas forcément une tache aisée (ni performante du tout; d'ailleurs il existe au moins 2 manière de le faire, l'une impliquant des strings, l'autre des divisions).