[R] Comment envoyer une chaine de caractère aléatoire ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mehdi
Niveau 1
Niveau 1
Messages : 2
Enregistré le : jeu. 20 mars 2008 00:23
Status : Hors ligne

[R] Comment envoyer une chaine de caractère aléatoire ?

#1

Message par mehdi »

bonjour à tous.
voila ma question est simple, comme indiquée dans le nom du topic, comment puis-je envoyer une chaine de caractères aléatoire.
je m'explique, je voudrais réaliser la meme chose que cela mais avec des lettres :

$num = Random ( 1, 9999999999, 1 )
send ( $num )

existe-t-il une méthode ?
Merci
tolf
Niveau 7
Niveau 7
Messages : 318
Enregistré le : ven. 15 févr. 2008 12:25
Localisation : Paris
Status : Hors ligne

Re: [..] comment envoyer une chaine de caractère aléatoire ?

#2

Message par tolf »

medhi a écrit :existe-t-il une méthode ?
Oui :

Si tu as 26 lettres et que ta chaîne fait 10 caractères, tu fais 10 fois :

Code : Tout sélectionner

Random ( 1, 26, 1 )
et a chaque fois tu transforme la valeur obtenue par le caractère qui lui est associé (1 = a, 2 = b, etc...). Il suffit de coller les lettres une à une dans une chaîne au fur et à mesure que tu les obtiens, et à la fin, tu as ta chaîne aléatoire.
Lisez la documentation d'AutoIt en français (et participez svp :mrgreen:) !

Mes UDF :
[/i][/b]
mehdi
Niveau 1
Niveau 1
Messages : 2
Enregistré le : jeu. 20 mars 2008 00:23
Status : Hors ligne

Re: [..] comment envoyer une chaine de caractère aléatoire ?

#3

Message par mehdi »

en effet je n'y avait pas pensé :D
je pensais trouver une fonction toute faite mais apparament non, je vais essayer ca
merci
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

Re: [R] Comment envoyer une chaine de caractère aléatoire ?

#4

Message par moutelous »

Bonjour,

Vous pouvez utiliser la même fonction en combinant les codes ASCII et la fonction Chr

(Voir l'aide de Random)

Pour des minuscules :

Code : Tout sélectionner

Chr(Random(Asc("a"), Asc("z"), 1)
Pour des majuscules :

Code : Tout sélectionner

Chr(Random(Asc("A"), Asc("Z"), 1)
A+
A+
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Comment envoyer une chaine de caractère aléatoire ?

#5

Message par arrkhan »

j 'ai commencé une fonction en modifiant _ArrayCreate pour qu'il accepte suffisament de $Variables mais je bloque sur la boucle for...next, je m en sort pas, pourtant je sens que je tiens le bon bout, je vous post le bout de code, si les pros se sentent de le terminer ^^

Code : Tout sélectionner

Func _ArrayCreate2($v_0, $v_1 = 0, $v_2 = 0, $v_3 = 0, $v_4 = 0, $v_5 = 0, $v_6 = 0, $v_7 = 0, $v_8 = 0, $v_9 = 0, $v_10 = 0, $v_11 = 0, $v_12 = 0, $v_13 = 0, $v_14 = 0, $v_15 = 0, $v_16 = 0, $v_17 = 0, $v_18 = 0, $v_19 = 0, $v_20 = 0, $v_21 = 0, $v_22 = 0, $v_23 = 0, $v_24 = 0, $v_25 = 0, $v_26 = 0)
    Local $av_Array[27] = [$v_0, $v_1, $v_2, $v_3, $v_4, $v_5, $v_6, $v_7, $v_8, $v_9, $v_10, $v_11, $v_12, $v_13, $v_14, $v_15, $v_16, $v_17, $v_18, $v_19, $v_20, $v_21, $v_22, $v_23, $v_24, $v_25, $v_26]
    ReDim $av_Array[@NumParams]
    Return $av_Array
EndFunc   ;==>_ArrayCreate2
$Output = ""
Func _Randabc($longueurmot)
    $Randabc = _ArrayCreate2(26, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
    For $i = 1 To $longueurmot
        $Output = $Output & $Randabc[Random(1, 26, 1)]
        Return $Output
    Next
    
EndFunc   ;==>_Randabc
MsgBox(0, "", "test de randomisation de nom de fichier : " & _Randabc(5))
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Comment envoyer une chaine de caractère aléatoire ?

#6

Message par ani »

a vu d'oeil ....sans être pro :)

faut juste indiquer le return $output en dehors de la boucle for..next ;)
pas mal ;)

tu pouvais passer par un simple tableau,sans créer le arraycreate
en une fonction (j'avais crée quelque chose de s'emblable y a longtemp ^^)

Code : Tout sélectionner

Func _Randabc($longueurmot)
Local $Randabc = stringsplit("abcdefghijklmnopqrstuvwxyz","")
For $i = 1 To $longueurmot
    $Output = $Output & $Randabc[Random(1, 26, 1)]
Next
Return $Output
EndFunc   ;==>_Randabc

MsgBox(0, "", "test de randomisation de nom de fichier : " & _Randabc(5))
et si tu désire faire un mélange entre les minuscule et majuscule ()

Code : Tout sélectionner

Func _Randabc($longueurmot)
Local $Output = ""
Local $Randabc = stringsplit("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ","")
For $i = 1 To $longueurmot
        $Output &= $Randabc[Random(1, 52, 1)]
Next
Return $Output
EndFunc   ;==>_Randabc

MsgBox(0, "", "test de randomisation de nom de fichier : " & _Randabc(5))
mais il doit exister une alternative, plus simple..
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Comment envoyer une chaine de caractère aléatoire ?

#7

Message par arrkhan »

merci ani ^^
je savais bien que j en etais pas loin....

P.S.: je suis vraiment trop un boulet, marre de faire Ctrl+s dès que je me corrige sur un post =Þ
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Comment envoyer une chaine de caractère aléatoire ?

#8

Message par ani »

çà arrive ;)
mais tu n'es pas boulet pour autant ;)
que fait le raccourci ctrl+s ?
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [R] Comment envoyer une chaine de caractère aléatoire ?

#9

Message par arrkhan »

Ctrl+s c'est le raccourci clavier pour la sauvegarde dans quasi tout les logiciel, c'est un reflex que j'ai pris il y a bien longtemps, je fais le raccourci au moins toute les 10 secondes ^^
Répondre