Page 1 sur 1
[resolu] For i ... to ... décroissant ?
Publié : jeu. 31/mars/2011 15:30
par Ar-S
Code : Tout sélectionner
For i = 100 To 90
Delay (500)
Debug "Num : "+Str(i)
i-1
Next i
MessageRequester("plop","plop")
en gros je fais un programme qui doit insérer une image à une position donnée.
Un repertoire contient
1.jpg, 2.jpg, 3.jpg etc
NbreTotal=3
L'utilisateur veut insérer une image donnée en 2eme position par exemple.
choixutilisateur=2
Donc le soft compte le nombre d'images total et tente de renommer les images ainsi :
renamefile(str(i)+".jpg",str(i+1)+".jpg")
Vous comprendrez qu'il faut donc commencer par la dernière image..
Donc je fais un
Code : Tout sélectionner
for i = NbreTotal to choixutilisateur
renamefile(str(i)+".jpg",str(i+1)+".jpg")
i-1
next
Je viens de découvrir que
For ... To ne fonctionnait pas en décroissant ??
Hallucine-je ? On est obligé de passer par une liste ou un tableau ?
Re: For i ... to ... décroissant ?
Publié : jeu. 31/mars/2011 15:51
par flaith
Re: For i ... to ... décroissant ?
Publié : jeu. 31/mars/2011 15:52
par Ar-S
arrgh je viens de trouver..
effectivement, simplement ça..
On croit qu'on connait les fonction de base et en ré-ré-ré-ré-ré-ouvrant la doc, la solution saute au visage.
Merci tout de même
code corrigé :
Code : Tout sélectionner
for i = NbreTotal to choixutilisateur step-1
renamefile(str(i)+".jpg",str(i+1)+".jpg")
next
P.S : c'est tout de même un peu bête de devoir utiliser step-1. Pb et surtout For/To pourraientt gérer l'ordre décroissant simplement que ce serait pas plus mal

En tout cas ça m'aura pris pas mal de temps pour ce truc tout con.
Re: [resolu] For i ... to ... décroissant ?
Publié : jeu. 31/mars/2011 21:42
par case
non car tu peux avoir besoin d'un step -2 ou en cas de nombres a virgule flottante un step -0.25 et ça aucun langage de programmation ne pourra jamais le deviner.
Re: [resolu] For i ... to ... décroissant ?
Publié : jeu. 31/mars/2011 22:25
par Ar-S
Et si on ajoutait
i-1 avant le next ? enfin l'important c'est que ça fonctionne.
Je ne l'oublierai pas.

Re: [resolu] For i ... to ... décroissant ?
Publié : jeu. 31/mars/2011 23:09
par Backup
Step fait partie du Basic depuis les debuts ! ( 1964 )
tout les basics integrent ça :
C64,Zx81,MO5,TO7,TO9,TI99/4a, Apple 2e, ORIC ATMOS, ...etc
si on commence a changer ça, c'est plus du basic , autant se mettre au C
deja qu'on a pas la possibilités en PureBasic de mettre des variables flottantes... meme des variables tout court.. (j'ai demandé ça il y a plus de 10 ans... j'attends toujours ...)
ceci :
Code : Tout sélectionner
a.f=2.2
b.f=10.5
c.f=0.05
For i = a.f To b.f Step c.f
Debug i
Next i
est un code normal en basic , pourtant Purebasic ne sait pas faire ..
( je sais qu'on peut faire autrement .... )
mais n'empeche...
