DeleteElement dans une boucle ForEach/Next
Publié : dim. 20/juin/2004 13:06
Voila, si je fait juste ca:
Je me retrouve avec:
0
1
1 => Un deuxieme 1, c'est normal car DeleteElement passe à l'élément précédent
3
4
5
J'ai cherché un moment comment supprimer un élément sans probleme, et je suis arrivé à ca:
Ce qui me donne bien:
0
1
3
4
5
Mais c'est pas très pratique à utiliser... ca serai bien que DeleteElement fonctionne différement dans un boucle ForEach (qu'il passe a l'élément suivant au lieu du précédent et que s'il n'y a pas d'élément suivant il quitte la boucle) , de facon a ce que le premier code donne le résultat du 2eme
Code : Tout sélectionner
NewList test.l()
For i = 0 To 5
AddElement(test())
test() = i
Next
ForEach test()
If test()=2
DeleteElement(test())
EndIf
Debug test()
Next
0
1
1 => Un deuxieme 1, c'est normal car DeleteElement passe à l'élément précédent
3
4
5
J'ai cherché un moment comment supprimer un élément sans probleme, et je suis arrivé à ca:
Code : Tout sélectionner
NewList test.l()
For i = 0 To 5
AddElement(test())
test() = i
Next
ForEach test()
If test()=2
a = ListIndex(test())
DeleteElement(test())
If a And NextElement(test()) = 0
Break
EndIf
EndIf
Debug test()
Next
0
1
3
4
5
Mais c'est pas très pratique à utiliser... ca serai bien que DeleteElement fonctionne différement dans un boucle ForEach (qu'il passe a l'élément suivant au lieu du précédent et que s'il n'y a pas d'élément suivant il quitte la boucle) , de facon a ce que le premier code donne le résultat du 2eme
