Netspirit писал(а):
Тоже подходит. Как раз спрашивал, какие есть варианты.Ты так это интересно спросил, что я фиг сначала понял, что тебе надо. Вот смотри: StrList -- это блок условий, который заменяет кучу Case, и его точку Index можно подать на IndexToChannel для коммутации потоков, но этот вариант не фиксированный. Второй вариант, который с CounterEx, представляет собой шаговый коммутатор, он уже становится фиксированным. И, кстати, оба этих варианта можно каскадировать, если точку onGetIndex StrList-a подцепить на точку doValue CounterEx для прямого управления шаговым коммутатором.
--- Добавлено в 2017-06-08 13:17:57
Не знаю, заметил ты или нет, но с помощь последних версий IndexToXChannel можно программировать максимальное значение CounterEx, те привязать CounterEx к количеству каналов IndexToChannel
Схема
Add(MainForm,2953706,77,175)
{
link(onCreate,8642408:doData,[])
}
Add(CounterEx,229109,203,168)
{
Point(doPrev)
Point(doValue)
Point(doMax)
}
Add(IndexToChanel,1287293,203,231)
{
Point(EndIdx)
Point(Index)
link(Index,229109:Count,[])
}
Add(DoData,8642408,147,189)
{
link(onEventData,229109:doMax,[])
link(Data,1287293:EndIdx,[(153,159)(244,159)(244,271)(209,271)])
}