by Loulou 54 » 20 Nov 2011, 16:00
Mmh c'est un peu bizarre.. ^^ Pourquoi le fait d'effacer x devrait changer l'affichage de t ?
Sinon, l'indirection, (#) (que tu n'utilises même pas dans ce programme d'ailleurs ! ^^) permet de stocker une valeur dans une variable dont le nom est donné par une chaîne de caractères.
Exemple :
- Code: Select all
Request "Enregistrer sous",str // L'utilisateur entre par exemple "aba"
25->#str
Ainsi, aba=25.
Tu peux aussi l'utiliser pour faire des choses plus sophistiquées comme enregistrer des nombres dans des variables numérotées.
Exemple :
- Code: Select all
For n,1,10
2^n->#("puis"&string(n)) // Il est important de mettre des () quand il y a concaténation.
EndFor
Avec ça, tu auras : puis1=2 ; puis2=4 puis3=8 ; ...
L'indirection est un outil très puissant ! (ça manque beaucoup aux z80..) C'est parfois comparable aux pointeurs en C..
Pour ce qui est de ton problème exactement, je n'ai pas bien saisi ce que tu voulais faire..
EDIT : d'accord, je pense que tu veux mettre t dans x et lorsque tu fais 25->x tu aies t=25 ?
En effet, il faut utiliser une indirection :
- Code: Select all
"t"->x
25->#x
Tu auras donc bien t=25.