NetworkSwitchAnalyze method (Layer)

Моделирует переключение на сети и возвращает результат моделируемого переключения.

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

Layer

Синтаксис:

Visual Basic:

Function NetworkSwitchAnalyze(States As ZElemsStates, nFlags As Long) As IZSwitchStates

States - коллекция переключаемых объектов

nFlags - флаги определяющие, какие типы объектов должны попадать в ответ: 1 - потребители, 2 - все узловые объекты, 4 - участки

Описание:

На входе метода коллекция с объектами, которые будут участвовать в переключении. Элемент коллекции должен содержать ID объекта (отсекающего устройства или участка) и режим в который он должен перейти в результате переключения.

На выходе коллекция IZSwitchStates, содержащая объекты, которые изменят свое состояние по отношению к источникам в результате моделируемого переключения.

Пример:

Private Sub Command1_Click()

If MapCtrl1.CurrentID = -1 Then Exit Sub

Dim elems As ZElemsStates
Dim states As IZSwitchStates

Set elems = New ZElemsStates

'Добавляем во входную коллекцию текущий элемент слоя с переводом его в режим 2
elems.AddItem MapCtrl1.CurrentID, 2

'Выполняем анализ переключения текущего объекта слоя с выводом 
'в результат всех узлов и участков, которые изменят свое состояние
Set states = MapCtrl1.Map.Layers.Active.NetworkSwitchAnalyze(elems, 2 + 4)

Dim i As Long

MapCtrl1.Map.Layers.Active.Selection.Clear

List1.Clear

For i = 0 To states.GetCount - 1

'Выделяем результат на карте
    MapCtrl1.Map.Layers.Active.Selection.AddElem states.GetID(i)

'Выводим результат в список
    List1.AddItem Str(states.GetID(i)) + "   " + Str(states.GetState(i))

Next i

End Sub