У меня есть TList
, который 'детали обрабатываются многими for
-loops. Иногда мне нужно обменивать элементы в списке, чтобы изменить порядок визуального представления списка (в StringGrid
).Как обменивать элементы TList во время цикла
Как мне обменять эти предметы?
Мои предварительные мысли:
- Во время для цикла я думаю, что не нужно поменять местами пункты.
- Если я делаю обмен в событии таймера
OnTimer
, установив интервал таймеров на очень короткий интервал (например, 1 миллисекунду), тогда я думаю, что for-loop будет иметь только аннулирование этой миллисекунды.
Будет ли это работать? Или есть лучшие альтернативы?
Мы не сможем понять ваш вопрос, как указано. Пожалуйста, развернитесь. Скорее всего, это более подробное описание вашей проблемы и сокращенный код. –
Когда вы говорите «Мне иногда нужно обмениваться товарами», было бы неплохо, если бы вы могли лучше объяснить, почему вы это делаете. Что вы получаете от этого? Нужно ли изменять порядок этих элементов, потому что обработка одного элемента может зависеть от другого элемента, который уже обрабатывается раньше? Нужно ли, чтобы весь элемент обрабатывался в каждом из логов или некоторые из них могли быть пропущены, что могло произойти, если вы перемещаете некоторые элементы, чтобы их новое местоположение находилось до текущей точки петли (элемент никогда не будет обработан, потому что он будет искажен как уже обрабатывается)? – SilverWarior