[R] Base 36 calcul

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

[R] Base 36 calcul

#1

Message par Yoyo86220 »

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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Base 36 calcul

#2

Message par Tlem »

Vous mélangez numérique et alphanumérique.
Si vous utilisez :

Code : Tout sélectionner

$i=$i+1
vous ne pouvez pas utiliser :

Code : Tout sélectionner

If $i= plus de 18 caractaires then ExitLoop
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é. :shock:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

Re: [..] Base 36 calcul

#3

Message par Yoyo86220 »

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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Base 36 calcul

#4

Message par Tlem »

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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

Re: [..] Base 36 calcul

#5

Message par Yoyo86220 »

9+1=a

(c'est en base 36)
a+1=b
b+1=c
...
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

Re: [..] Base 36 calcul

#6

Message par Yoyo86220 »

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 :shock: )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Base 36 calcul

#7

Message par Tlem »

Yoyo86220 a écrit :9+1=a

(c'est en base 36)
a+1=b
b+1=c
...
Autant pour moi ... J'avais pas les idées claires. ;)

Voici votre solution : http://www.autoitscript.com/forum/index ... st&p=94300
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

Re: [..] Base 36 calcul

#8

Message par Yoyo86220 »

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:

Code : Tout sélectionner

0+1=1
1+1=2
[...]
9+1=a
[...]
z+1=10
[...]
Modifié en dernier par Tlem le lun. 26 mai 2008 21:06, modifié 1 fois.
Raison : AJout des balises de code
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Base 36 calcul

#9

Message par Tlem »

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 :

Code : Tout sélectionner

$tu = _NumBaseConvert($num, 2, 36)
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. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Yoyo86220
Niveau 6
Niveau 6
Messages : 238
Enregistré le : mer. 12 mars 2008 21:47
Status : Hors ligne

Re: [..] Base 36 calcul

#10

Message par Yoyo86220 »

^^ 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? :

Code : Tout sélectionner

If $tu > 18 caractères then Msgbox(1,"Info","C'est fini!")
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11793
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Base 36 calcul

#11

Message par Tlem »

Utilisez la fonction StringLen pour connaitre la longueur d'une chaîne.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre