GetLargestID method (Layer)

Возвращает значение ключа объекта, имеющего максимальное значение у данного слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetLargestID() As Long

Описание:

Метод может пригодиться при работе с массивами, где индексом элемента является значение его ключа. В этом случае GetLargestID позволяет определить максимальный размер массива.

Следует помнить, что при добавлении объектов в слой величнина, возвращаемая методом будет изменяться (увеличиваться).

При удалении объектов значение не уменьшается: после удаления объекта с самым большим ключом метод возвращает прежнее значение, а следующий добавленный объект получает следующий за ним ключ. Поэтому возвращаемое число не равно числу объектов слоя, которое дает коллекция ElementKeys.

У слоя, созданного методом Create, метод возвращает 0, а первый добавленный объект получает ключ 1.

Пример:

Visual Basic:

Sub Layer_GetLargestID
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
'Наибольший ключ слоя и число его объектов - это разные величины
S = "Наибольший ключ: " & L.GetLargestID
S = S & vbCrLf & "Объектов в слое: " & L.ElementKeys.Count
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_GetLargestID():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Наибольший ключ слоя и число его объектов - это разные величины
    print("Наибольший ключ:", L.GetLargestID())
    print("Объектов в слое:", L.ElementKeys.Count)