1 boucle foreach et DeleleteElement() avec 2nd paramètre
1 boucle for pas positif et DeleleteElement() avec 2nd paramètre
1 boucle for pas négatif et DeleleteElement() avec 2nd paramètre (ce n'est pas le step -1 qui est important mais le fait que l'on efface à la fin)
la boucle foreach ne fonctionne pas correctement, il reste un élément et c'est le second de la liste d'origine
les 2 autres boucles fonctionnent correctement
Code : Tout sélectionner
NewList Essai()
For i = 6 To 15
AddElement(Essai())
Essai() = i
Next
; ici on a 10 éléments dans la liste chainée
Debug "Nombre d'élément avant suppression "+Str(CountList(Essai()))
; On efface tous les éléments
ForEach Essai()
DeleteElement(Essai(), 1)
Next
; ici on ne devrait plus avoir d'élément
Debug "Nombre d'élément après suppression "+Str(CountList(Essai()))
If CountList(Essai()) >0
Debug "L'élément restant vaut " +Str(Essai())
EndIf
;*************************************************
; autre exemple d'une boucle for qui cette fois fonctionne
Debug ""
Debug ""
ClearList(Essai())
For i = 6 To 15
AddElement(Essai())
Essai() = i
Next
; ici on a 10 éléments dans la liste chainée
FirstElement(Essai())
Debug "Nombre d'élément avant suppression "+Str(CountList(Essai()))
For i = 6 To 15
DeleteElement(Essai(), 1)
Next
; ici on ne devrait plus avoir d'élément
Debug "Nombre d'élément après suppression "+Str(CountList(Essai()))
If CountList(Essai()) >0
Debug "L'élément restant vaut " +Str(Essai())
EndIf
;*************************************************
; autre exemple d'une boucle for qui cette fois fonctionne
Debug ""
Debug ""
ClearList(Essai())
For i = 6 To 15
AddElement(Essai())
Essai() = i
Next
; ici on a 10 éléments dans la liste chainée
Debug "Nombre d'élément avant suppression "+Str(CountList(Essai()))
LastElement(Essai()) ; on se positionne à la fin
For i = 15 To 6 Step -1
DeleteElement(Essai(), 1)
Next
; ici on ne devrait plus avoir d'élément
Debug "Nombre d'élément après suppression "+Str(CountList(Essai()))
If CountList(Essai()) >0
Debug "L'élément restant vaut " +Str(Essai())
EndIf