Page 1 sur 1
[R] Creation texte aléatoire
Posté : mar. 20 déc. 2011 22:31
par ricky
Hello,
j'aimerais savoir s'il existe une fonction qui permettrai de créer un nom aléatoire avec des lettres minuscules, majuscules, chiffres et de pouvoir choisir la longueur...
Merci d'avance pour votre aide
Re: [..] Creation texte aléatoire
Posté : mar. 20 déc. 2011 22:38
par matwachich
Cette fonction n'existe pas, mais c'est très simple à réaliser avec d'autres fonctions:
Chr(), Random(), et la "ASCII Table" Dans "Appendix" de l'aide d'AutoIt
Re: [..] Creation texte aléatoire
Posté : mar. 20 déc. 2011 22:43
par mikell
Code : Tout sélectionner
$longueur = 20
$txt = ""
$string = "azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN1234567890"
$char = StringSplit($string, "")
For $i = 1 To $longueur
$txt &= $char[Random(1, $char[0], 1)]
Next
MsgBox(0,"", $txt)
Re: [..] Creation texte aléatoire
Posté : mar. 20 déc. 2011 22:53
par ricky
Merci mikell, c'est mickel, heu nickel...

Re: [R] Creation texte aléatoire
Posté : mar. 20 déc. 2011 23:21
par ricky
J'en ai fait une fonction, une idée pour améliorer les if?
► Afficher le texte
Code : Tout sélectionner
Func TexteAleatoire($longueur = 10, $type = 1)
;$type = 1 : que lettres minuscules
;$type = 2 : que lettres majuscules
;$type = 4 : que des chiffres
Local $txt = ""
Local $lettresMini = "abcdefghijklmnopqrstuvwxyvz"
Local $chiffres = "1234567890"
if $type >= 4 then
$type -= 4
$txt &= $chiffres
endif
if $type >= 2 then
$type -= 2
$txt &= StringUpper($lettresMini)
endif
if $type >= 1 then
$txt &= $lettresMini
endif
Local $char = StringSplit($txt, "")
$txt = ""
For $i = 1 To $longueur
$txt &= $char[Random(1, $char[0], 1)]
Next
return $txt
EndFunc
Re: [R] Creation texte aléatoire
Posté : mar. 20 déc. 2011 23:29
par Tlem
Il est est étrange de voir que peu d'entre vous utilise réellement l'outil de recherche du forum !!!
Ou alors est-ce l’hiver qui pousse les gens à trouver une occupation, quitte à refaire ce qui à déjà été fait ...

Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 09:27
par mikell
Boss, écrire ces 8 lignes de code m'a pris quelques secondes, moins de temps que pour faire une recherche

Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 10:30
par zeshrek
Mikell, le probleme n'est pas que ca t'ai pris 8 secondes ou 3 jours.
Le problème c'est que répondre a une telle question revient à encourrager un comportement réprouvé par l'administrateur et les modérateurs. Cela sape les efforts qui sont fait pour obtenir de tout le monde un comportement adulte, qui consiste a commencer par rechercher une solution avant d'appeler au secour. Et c'est regretable qu'un membre émérite n'en ait pas conscience.
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 13:16
par Tlem
Comme à son habitude, Stéphane à mis les pieds dans le plat.
J'en profite donc pour faire comme lui et présenter mon point de vue.
Cela fait déjà quelques temps que certaines personnes donnent une réponse aux sujets dont j'ai indiqué au membre demandeur que la solution était à portée de main et qu'il suffisait de faire quelques efforts.
Ceci étant fait pour les rendre autonome et ne pas à avoir à perdre du temps sur des sujets qui ont pour la plupart été évoqués à maintes reprise.
Ce forum étant une communauté d'entre aide et de partage, c'est tout à leur honneur, mais passer derrière l'admin et lui casser la baraque, n'est pas quelque chose qui peut être apprécier à long termes.
Jusqu'à présent, j'étais partagé entre :
- - Me taire et faire comme si de rien était
- Prendre certaines résolutions et clôturer un sujet sur lequel je serait intervenu en ce sens
- Faire un p'tit message privé aux bienfaiteurs en leur expliquant que ce qu'ils faisaient n'était pas forcément la meilleure chose à faire.
et enfin
- Ne plus m'occuper de répondre aux diverses questions posées sur ce forum, car il y a suffisamment de bons samaritains !
Voilà, ceci étant dit, j'espère que cela ne découragera pas ces fameux bons samaritains à continuer de partager leurs connaissances et à aider nos chers membres en difficulté.

Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 13:34
par DimVar
zeshrek a écrit :Et c'est regretable qu'un membre émérite n'en ait pas conscience.
[MODE TROLL ON] Ça donne pas envie d’être membre émérite, faut avoir la même conscience qu'un gros modo vert!!![MODE TROLL OFF]

Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 14:02
par ricky
Personne ne peut m'aider sur mes problèmes de if?
Pour en finir avec la polémique et pour répondre à Tlem, puisque c'est lui qui a lancé la remarque.
Je suis désolé, mais j'ai cherché dans le forum et même dans celui en anglais, j'avais trouvé la fonction random dans le mode d'emploi mais elle ne me convenait pas. D'où ma demande...
Avant de faire mes demandes je fais des recherches, je suis aussi modérateur dans un forum et je connais la problématique...
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 14:28
par mikell
Pour tes If, un indice : dans mon code la string de base fait 62 caractères alors pense aux délimiteurs de la fonction Random
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 15:47
par ricky
Ben non, car on ne peut pas cumuler les fonction, bon tant pis, je vais faire avec une boucle et un switch...
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 16:37
par zeshrek
Pour ton probleme de if, la solution c'est de virer les if. Comme ca plus de if, plus de probleme.
Il suffit de les remplacer par des BitAnd, et ca tient sur une seule ligne. On en proffite pour virer tout un tas de m*rdier qui prend de la place pour rien en mettant ce qui nous faut dans un tableau, et on a ca :
► Afficher le texte
Code : Tout sélectionner
Func TexteAleatoire($longueur = 10, $type = 1)
;$type = 1 : que lettres minuscules
;$type = 2 : que lettres majuscules
;$type = 4 : que des chiffres
Local $txt = ""
Local $lettres[5] = ["", "abcdefghijklmnopqrstuvwxyvz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", "1234567890"]
Local $CharSet = $lettres[BitAND($type, 1)] & $lettres[BitAND($type, 2)] & $lettres[BitAND($type, 4)]
Local $CharSetLen = StringLen($CharSet)
For $i = 1 To $longueur
$txt &= StringMid($CharSet, Random(1, $CharSetLen, 1), 1)
Next
Return $txt
EndFunc ;==>TexteAleatoire
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 17:40
par Tlem
Pour montrer qu'il existait déjà les bases :
http://www.autoitscript.fr/forum/viewto ... 395#p21395
http://www.autoitscript.fr/forum/viewto ... =21&t=1878
Là, je n'ai pris que deux liens de la première page de ma recherche, p'tet qu'en cherchant un peut plus il y à encore mieux !!!

Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 19:56
par mikell
Ouah le code sur le lien 2
J'avais pas pensé à chercher "générateur" ou "mot de passe"
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 20:06
par Tlem
ricky a écrit :une fonction qui permettrai de créer un nom aléatoire avec des lettres minuscules, majuscules, chiffres et de pouvoir choisir la longueur...
Si le but final n'est pas de créer un pseudo mot de passe, la définition y ressemble comme deux gouttes d'eau en tout cas.
Re: [R] Creation texte aléatoire
Posté : mer. 21 déc. 2011 20:22
par ricky
Merci zeshrek, connaissait pas...
@Tlem, effectivement, ça y ressemble et je n'ai pas pensé à chercher avec "mot de passe" mais avec "aléatoire", "texte aléatoire", "random".
Et pour te répondre, non, ce n'est pas pour créer des mots de passe.