ChangeCurrentElement()
Синтаксис
ChangeCurrentElement(List() , *NewElement)
Описание
Устанавливает указанный элемент Связного Списка List() в качестве текущего элемента. Эта функция очень полезна, если вы хотите 'запомнить' текущий элемент и вернуться к нему после выполнения каких либо действий над элементами.
Параметры
List() Имя используемого Списка, созданного с помощью функции NewList. Вы должны указать скобки после имени Списка. *NewElement Элемент устанавливаемый в качестве текущего элемента Списка. В качестве параметр должен быть указатель на элемент, который уже существует в этом Списке. Вы должны получить этот адрес, используя оператор '@' с именем Списка, а не каким либо другим способом.
Возвращаемое значение
Ничего.
Пример Упрощённый
NewList MyList() ; Объявляем Список, текущего элемента нет. AddElement(MyList()) ; Добавляем в него первый элемент, он становится "текущим", под индексом 0. Счёт как в массиве с 0. *Old_Element = @mylist() ; Получаем адрес текущего (первого) элемента, который под индексом 0 For q=1 To 10 ; Добавляем ещё 10 элементов AddElement(MyList()) Next q Debug "Адрес текущего элемента : " + Hex(@mylist()) + " под индексом " + ListIndex(MyList()) ; 10 ChangeCurrentElement(mylist(), *Old_Element) ; переходим на элемент, адрес которого хранится в указательной переменной *Old_Element. Debug "Адрес текущего элемента : " + Hex(@mylist()) + " под индексом " + ListIndex(MyList()) ; 0
Пример: Полный
NewList myList() AddElement(myList()) myList() = 100 AddElement(myList()) myList() = 200 *element = @myList() AddElement(myList()) myList() = 300 Debug myList() ; Показывает 300 (последний элемент) ChangeCurrentElement(myList(), *element) ; Восстановить позицию Списка Debug myList() ; Показывает 200 ForEach myList() If @myList() = *element Debug "элемент: " + myList() ; Показывает "элемент: 200" EndIf Next
См. также
SelectElement()
Поддерживаемые OS
Все