Aide et conseils concernant AutoIt et ses outils.
Yoyo86220
Niveau 6
Messages : 238 Enregistré le : mer. 12 mars 2008 21:47
Status :
Hors ligne
#1
Message
par Yoyo86220 » dim. 25 mai 2008 23:15
Bonsoir,
je voudrai que ma variable "$i" soit en base 36 c'est a dire:
0 1 2 3 4 5 6 7 8 9 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
et quand on indique dans une boucle :
Code : Tout sélectionner
While 1
$i=$i+1
If $i= plus de 18 caractaires then ExitLoop ;<== voilà se que je voudrai fair aussi
FileWriteLine(...)
WEnd
Tlem
Site Admin
Messages : 11793 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#2
Message
par Tlem » dim. 25 mai 2008 23:40
Vous mélangez numérique et alphanumérique.
Si vous utilisez :
vous ne pouvez pas utiliser :
puisque $i est une variable numérique et ne sera incrémentée que de un et non de 1 caractère !
En l'état, votre code n'a aucun sens.
Veuillez donner plus d'explications sur sa fonction ou son utilité.
Yoyo86220
Niveau 6
Messages : 238 Enregistré le : mer. 12 mars 2008 21:47
Status :
Hors ligne
#3
Message
par Yoyo86220 » lun. 26 mai 2008 06:48
oui il sera agrémenté de un bien entendu mais exemple:
0+1=1 <== 1 caractaires...
1+1=2
2+1=3
3+1=4
4+1=5
...
z+1=10 <== 2 caractaires...
...
zz+1=100 <== 3 caractaires jusqu'a
...
zzzzzzzzzzzzzzzzzz <== caractaires
se qui donne 18 puissance 36 possibilités je croix
Tlem
Site Admin
Messages : 11793 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#4
Message
par Tlem » lun. 26 mai 2008 06:58
Selon votre exemple, si :
z+1=10
alors combien font :
9+1=?
Votre demande n'est pas claire du tout.
Donnez plus de détails sur votre besoin, voir même faites le tableau de votre 'base 36', et au besoin expliquer ce que vous voulez faire car il existe peut être une solution plus simple.
Yoyo86220
Niveau 6
Messages : 238 Enregistré le : mer. 12 mars 2008 21:47
Status :
Hors ligne
#5
Message
par Yoyo86220 » lun. 26 mai 2008 07:07
9+1=a
(c'est en base 36)
a+1=b
b+1=c
...
Yoyo86220
Niveau 6
Messages : 238 Enregistré le : mer. 12 mars 2008 21:47
Status :
Hors ligne
#6
Message
par Yoyo86220 » lun. 26 mai 2008 07:12
se qui génèrai toutes les possibilités d'écriture avc (tout les chiffre et toute les lettres...) de maximum 18 caractaires... (il y en a pour un moment a mon avi sachant qu'il devra fair 18^36 calcul
)
Yoyo86220
Niveau 6
Messages : 238 Enregistré le : mer. 12 mars 2008 21:47
Status :
Hors ligne
#8
Message
par Yoyo86220 » lun. 26 mai 2008 19:34
Code : Tout sélectionner
$num = 0
#include <NumBaseConvert.au3>
While 1
$tu = _NumBaseConvert($num, 2, 36)
MsgBox(0, "", 'Nombre en Base 36 : ' & $tu)
$num = $num+1
WEnd
j'arrive à rien... si quelq'un à une idée... ne pas ésiter...
je pense avoir compri qu'il fau que le nombre $num soi en binnair... comment fair ?
sachant que je veux:
Modifié en dernier par
Tlem le lun. 26 mai 2008 21:06, modifié 1 fois.
Raison : AJout des balises de code
Tlem
Site Admin
Messages : 11793 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#9
Message
par Tlem » lun. 26 mai 2008 21:16
Hi hi hi, je suis content, car cette fois ci, c'est vous qui n'avez pas les yeux en face des trous ...
En effet, vous faites :
Or dans ce cas vous convertissez une base binaire (Base 2) en base 36.
Rectifiez votre base de départ en décimale et tout rentrera dans l'ordre.
Yoyo86220
Niveau 6
Messages : 238 Enregistré le : mer. 12 mars 2008 21:47
Status :
Hors ligne
#10
Message
par Yoyo86220 » lun. 26 mai 2008 22:48
^^ oui bien vu je n'y avais même pas pensé rien de plus simple
Solution:
Code : Tout sélectionner
#include <NumBaseConvert.au3>
$num=0
While 1
$tu = _NumBaseConvert($num, 10, 36)
If $tu > 18 caractères then Msgbox(1,"Info","C'est fini!")
FileWriteLine("c:\Pass.txt", $tu)
$num = $num+1
WEnd
autre question comment fair ceci? :
Tlem
Site Admin
Messages : 11793 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#11
Message
par Tlem » lun. 26 mai 2008 22:54
Utilisez la fonction StringLen pour connaitre la longueur d'une chaîne.