Iterowanie listy jest banalne. W tym przypadku właściwość TCollection
komponentu, nad którym pracuję. Nie mam problemu z iterowaniem z indeksu 0
do maksymalnego indeksu - zrobiłem to już wiele razy.Powtórz listę z dowolnego punktu początkowego i kontynuuj od początku?
Jednak pracuję nad czymś, co wymaga nieco innej iteracji. Muszę przejrzeć listę elementów kolekcjonerskich z dowolnego punktu początkowego - a mimo to ukończyć pełną pętlę wszystkich elementów. Po ostatniej pozycji listy automatycznie kontynuuje iterację od początku listy.
Dla wyjaśnienia: tradycyjna iteracja działa jak:
for X := 0 to SomeList.Count-1 do ...
Ale może zacznę go w jakimś innym miejscu, takie jak:
for X := StartingPoint to EndingPoint do ...
I to, że "EndingPoint", których nie mogę dowiedzieć się, . Iteracja tylko się zwiększa. Ale w moim przypadku muszę zresetować bieżącą pozycję iteracji na początek - dokładnie w środku iteracji. EndingPoint
może być mniejszy niż StartingPoint
, ale nadal musi wykonać pełną pętlę, w której po dojściu do końca, odbiera ją od początku.
Tak, w liście z 5 elementów, a nie tylko będzie ...
0, 1, 2, 3, 4
może zacznę na 2, i chce zrobić ...
2, 3, 4, 0, 1
Jak to zrobić osiągnąć taką pętlę?
Taki idealny. Bardzo doceniam. –