;
; ------------------------------------------------------------
;
; PureBasic - Linked list example file
;
; (c) Fantaisie Software
;
; ------------------------------------------------------------
;
Structure BasicStructure
Field1.b
Field2.w
Field3.l
EndStructure
Structure ComplexStructure
Field1.b
*Basic.BasicStructure ; Указатель на объект BasicStructure
Basic2.BasicStructure ; Создание объекта BasicStructure внутри этой структуры
*Next.ComplexStructure ; Указатель на другой объект ComplexStructure
EndStructure
NewList TestList.BasicStructure()
;
;-------- Добавить элементы в TestLists --------
;
AddElement(TestList())
TestList()\Field2 = 1
AddElement(TestList())
TestList()\Field2 = 2
AddElement(TestList())
TestList()\Field2 = 3
AddElement(TestList())
TestList()\Field2 = 4
Debug "Количество элементов в списке: " + ListSize(TestList())
; Первый способ перечислить все элементы
;
ResetList(TestList()) ; Сбрасывание внутреннего указателя списка на 'элемент перед первым'.
While NextElement(TestList()) ; Обработать все элементы...
Debug "ResetList() - 'Field2' Значение: " + TestList()\Field2
Wend
; Второй способ, с помощью ForEach
;
ForEach TestList() ; Process all the elements...
Debug "ForEach() - 'Field2' Значение: " + TestList()\Field2
Next
SelectElement(TestList(), 2) ; Перейдите непосредственно к 3-му элементу
Debug "3-й элемент - 'Field2' Значение: " + TestList()\Field2
End