; ; ------------------------------------------------------------ ; ; 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