Page 1 sur 3
Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 20:50
par falsam
Je viens de découvrir qu'on ne pouvait pas faire ceci
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 21:11
par GallyHC
bonjour,
Oui et cela a toujours été avec PB et je pense l'avoir signaler une fois, donc la seul façon de faire est :
Perso, je trouvais cela pas terrible surtout qu'avec VB6 et VB.net cela ne posé aucun problème et venant de ce langage j'ai eu du mal au départ.
Cordialement,
GallyHC
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 21:45
par SPH
falsam a écrit :Je viens de découvrir qu'on ne pouvait pas faire ceci
Ca fait un million d'annees qu'on ne peux pas faire ca

Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 22:58
par nico
Oui mais comme le montre GallyHC, ça n'as jamais constitué un problème non plus.
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 23:36
par falsam
nico a écrit :Oui mais comme le montre GallyHC, ça n'as jamais constitué un problème non plus.
Tout à fait d'accord. Ce n'est pas un obstacle.
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 23:45
par SPH
falsam a écrit :nico a écrit :Oui mais comme le montre GallyHC, ça n'as jamais constitué un problème non plus.
Tout à fait d'accord. Ce n'est pas un obstacle.
Oui, et il y a meme plusieurs facon de contourner le probleme

Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 23:48
par falsam
SPH a écrit :Oui, et il y a meme plusieurs facon de contourner le probleme
Au moins un code peut être ?
Petite remarque, mon souhait n'était pas de faire varier le pas durant l’exécution de la boucle mais de l'initialiser avant son exécution

Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 23:53
par SPH
Un code demain car la : zolpidem of love

Re: Impossible d'utiliser For..Next avec un step en variable
Publié : jeu. 26/févr./2015 23:57
par falsam
SPH a écrit :zolpidem of love
Bonne nuit dans ce cas

Re: Impossible d'utiliser For..Next avec un step en variable
Publié : ven. 27/févr./2015 0:05
par falsam
Une autre solution avec l'option Step 0
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : ven. 27/févr./2015 7:55
par kernadec
bonjour
De la même manière, j'utilise une boucle "Repeat Until" dans le code de madalas3d avec une incrémentation décimale et variable
pour pouvoir dessiner des polygones dont la corde est un nombre décimal! : exemple 360 / 7 = 51.42857143
Cordialement
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : ven. 27/févr./2015 8:33
par PAPIPP
Bonjour à tous
Comme cela avec Double .d 8 octets valeur illimitée.
Code : Tout sélectionner
Procedure.d ford(debd.d,find.d,pasd.d)
Protected Id.d=debd
While id <= find
; :Placez ici vos instructions
Debug id
id+pasd
Wend
EndProcedure
ford (1,40,4)
ford (#PI,30*#PI ,3.4)
A+
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : ven. 27/févr./2015 9:08
par Kwai chang caine
falsam a écrit :Je viens de découvrir qu'on ne pouvait pas faire ceci
c'est vrai on en a souvent parlé.
Ca fait partie des vieilles requetes comme le gosub dans une procedure et dont certaines ont ete ajoute depuis, comme le retour a la ligne
Cool le step 0… j'y aurait pas pensé

Re: Impossible d'utiliser For..Next avec un step en variable
Publié : ven. 27/févr./2015 9:17
par PAPIPP
Suite de l"étude précédente.
avec les boucles for nous avons 4 cas à tester
For i=0 To 40 Step 2
Debug i
Next
Debug "fin For i=0 To 40 Step 2"
For i=10 To 0 Step 2
Debug i
Next
Debug "fin i=10 To 0 Step 2"
For i=0 To 40 Step -2
Debug i
Next
Debug "fin For i=0 To 40 Step -2"
For i=10 To 0 Step -2
Debug i
Next
Debug "fin i=10 To 0 Step -2"
Deux types de boucles déroulent normalement en fonction du début de la fin et du pas
on peut réaliser la meme chose avec la procédure en .d
Code : Tout sélectionner
Procedure inst_ford(id.d)
; :Placez ici vos instructions
Debug id
EndProcedure
Procedure.d ford(debd.d,find.d,pasd.d)
Protected Id.d=debd
If id >=find And pasd<0
While id >= find
inst_ford(id)
id+pasd
Wend
Debug "fin id >= find "
ElseIf id <= find And pasd>0
While id <= find
inst_ford(id)
id+pasd
Wend
Debug "fin id <= find "
EndIf
Debug "**************"
EndProcedure
ford (1,40,4)
ford (#PI,30*#PI ,3.4)
ford (#PI,-30*#PI,-3.4)
;les instructions suivantes avec debut <= fin et pas négatif (1) ou debut >= fin et pas positif ne seront pas exécutées boucle proche de l'infini
ford (#PI,-30*#PI,3.4)
ford (#PI,30*#PI,-3.4)
A+
Re: Impossible d'utiliser For..Next avec un step en variable
Publié : ven. 27/févr./2015 9:46
par MLD
Salut a tous.
Mais comme ceci, c'est OK avec une constante ?
La solution avec step 0 est super.
Ou sans step avec i + sp-1
En fait le step n'accepte que des constantes ?? Dommage!