Делает текущим первый объект слоя.
Visual Basic:
Sub MoveFirst()
С этого метода начинается любой обход: до его вызова итератор пуст, IsEOF возвращает True, а ElemID — -1. Если в слое нет ни одного объекта, IsEOF останется True и после вызова.
Ограничение обхода выделенными объектами задаётся методом SetSelectedOnly до MoveFirst.
Метод можно вызвать повторно, чтобы начать обход заново.
Visual Basic:
Sub IZEnumElements_MoveFirst 'Итератор по объектам активного слоя карты Set L = Zulu.ActiveMapDoc.Layers.Active Set En = L.EnumElements En.MoveFirst 'Полный обход слоя n = 0 Do While Not En.IsEOF n = n + 1 En.MoveNext Loop 'Начинаем сначала En.MoveFirst MsgBox "Объектов в слое: " & n & vbCrLf & "После повторного MoveFirst: " & En.ElemID End SubPython:
import zulu def Macro_IZEnumElements_MoveFirst(): # Итератор по объектам активного слоя карты L = zulu.App.ActiveMapDoc.Layers.Active En = L.EnumElements() En.MoveFirst() # Полный обход слоя n = 0 while not En.IsEOF(): n += 1 En.MoveNext() # Начинаем сначала En.MoveFirst() print("Объектов в слое:", n) print("После повторного MoveFirst:", En.ElemID)