Вверх ↑
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
#1: 2013-03-29 21:57:06 ЛС | профиль | цитата
Nesco и v258, вопрос к вам как к авторам данного компонента)

Не могли бы вы коммутаторе сделать возможность передачи данных на диапазон каналов?
Компонент супер! Все устраивает, но не хватает выбора диапазона каналов.
В виду того, что данная доработка компонента нужна наверно только мне,готов в качестве спасибо кинуть на телефон 350р)
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#2: 2013-03-29 23:07:48 ЛС | профиль | цитата
Gunnman писал(а):
Не могли бы вы коммутаторе сделать возможность передачи данных на диапазон каналов?

Ничче не понимаю (с)
Нафиг вообще нужен этот компонент
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2013-03-29 23:36:03 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 07:20:15
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#4: 2013-03-29 23:58:23 ЛС | профиль | цитата
Изначально автором этого компонента был я, потом его доусовершенствовал v258. Но я так и не понял, что конкретно надо-то
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2013-03-30 00:09:34 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 07:20:15
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#6: 2013-03-30 00:12:09 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 07:20:16
карма: 0

0
Ответов: 8926
Рейтинг: 823
#7: 2013-03-30 00:17:23 ЛС | профиль | цитата
77.106.251.65, так:
code_30714.txt
карма: 19

0
файлы: 1code_30714.txt [2.4KB] [158]
Гость
Ответов: 17029
Рейтинг: 0
#8: 2013-03-30 00:28:43 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-05 07:20:16
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#9: 2013-03-30 00:39:10 ЛС | профиль | цитата
или так:
code_30716.txt
Леонид, зачем в Вашей схеме IndexToChanel ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30716.txt [2.3KB] [140]
Ответов: 655
Рейтинг: 18
#10: 2013-03-30 00:47:51 ЛС | профиль | цитата
Леонид, 46.165.5.26, спасибо! Хорошие варианты!
Возьму на заметку. Но тему создал именно по компоненту Commutator потому что у него есть возможность отправки данных во все каналы если в индексе указать -1.
Мне показалось что раз в нем уже эта возможность предусмотрена, то возможно разработчики дополнят его и возможностью указать диапазон)
карма: 0

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#11: 2013-03-30 01:01:46 ЛС | профиль | цитата
Gunnman писал(а):
то возможно разработчики дополнят его и возможностью указать диапазон)

Я не поддерживаю этот компонент уже давно, и особенно после его доработки, к тому же, он не является штатным. К тому же, изначально я предусматривал передачу на все каналы по индексу -1, и не я это делал
карма: 22

0
Ответов: 8926
Рейтинг: 823
#12: 2013-03-30 01:08:23 ЛС | профиль | цитата
Tad писал(а):
зачем в Вашей схеме IndexToChanel ?
Так ТС нужен, а выходы соеденены исключительно для индикации
карма: 19

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#13: 2013-03-30 03:01:21 ЛС | профиль | цитата
Не, ну и в чем проблема сделать по -1 на все каналы Вот схемка с парсером диапазона и поддержкой -1. Нафиг там не нужен никакой коммутатор

Add(MainForm,6609510,182,168)
{
}
Add(Edit,10036881,287,133)
{
Left=35
Top=30
Text="-1"
}
Add(Button,9639862,231,210)
{
Left=30
Top=70
Caption=">>"
link(onClick,8194486:doCompare,[])
}
Add(Edit,5346580,574,210)
{
Left=115
Top=30
Text="150"
MaxLenField=1
}
Add(Label,13019774,231,168)
{
Left=20
Top=10
Width=150
Height=20
Caption=" Канал Данные "
AutoSize=1
}
Add(IndexToChanel,5765865,574,273)
{
Count=5
Point(Data)
link(onEvent1,7446813:doText,[])
link(onEvent2,906816:doText,[(669,286)(669,314)])
link(onEvent3,158500:doText,[(662,293)(662,349)])
link(onEvent4,11918236:doText,[(655,300)(655,384)])
link(onEvent5,1558021:doText,[(648,307)(648,419)])
link(Data,5346580:Text,[])
}
Add(Edit,7446813,679,273)
{
Left=115
Top=70
Text=""
}
Add(Edit,906816,679,308)
{
Left=115
Top=95
Text=""
}
Add(Edit,158500,679,343)
{
Left=115
Top=120
Text=""
}
Add(Edit,11918236,679,378)
{
Left=115
Top=145
Text=""
}
Add(Edit,1558021,679,413)
{
Left=115
Top=170
Text=""
}
Add(For,15680118,490,273)
{
link(onEvent,5765865:doEvent,[])
link(Start,12961067:Value,[])
link(End,3363523:Value,[(503,257)(524,257)])
}
Add(Memory,12961067,490,175)
{
Default=Integer(0)
}
Add(Memory,3363523,518,210)
{
Default=Integer(4)
}
Add(MultiStrData,3394669,392,231)
{
Char="-"
link(onPart1,12961067:doValue,[(431,237)(431,181)])
link(onPart2,15739273:doEvent1,[])
}
Add(If_else,8194486,287,210)
{
Op2=Integer(-1)
link(onTrue,10977690:doEvent1,[])
link(onFalse,15341812:doReplace,[(333,223)(333,237)])
link(Op1,8347134:Var2,[])
}
Add(GetDataEx,8347134,287,175)
{
link(Data,10036881:Text,[])
}
Add(Hub,10977690,441,210)
{
OutCount=3
link(onEvent1,12961067:doClear,[(466,216)(466,188)])
link(onEvent2,3363523:doClear,[])
link(onEvent3,5198309:doWork1,[(480,230)])
}
Add(Replace,15341812,343,231)
{
SubStr=" "
link(onReplace,3394669:doSplit,[])
link(Str,8347134:Var3,[(349,180)])
}
Add(Hub,15739273,441,238)
{
link(onEvent1,3363523:doValue,[(473,244)(473,216)])
link(onEvent2,5198309:doWork2,[])
}
Add(HubEx,5198309,476,245)
{
Angle=1
link(onEvent,15680118:doFor,[(480,279)])
}


------------ Дoбавленo в 02.04:
Гораздо полезнее то, что я нашел чего не хватало в IndexToChanel
------------ Дoбавленo в 02.48:
Если обновиться с SVN, то схема получится еще интереснее

Add(MainForm,6609510,126,161)
{
}
Add(Edit,10036881,231,98)
{
Left=35
Top=30
Text="-1"
}
Add(Button,9639862,175,217)
{
Left=30
Top=70
Caption=">>"
link(onClick,8194486:doCompare,[])
}
Add(Edit,5346580,476,217)
{
Left=115
Top=30
Text="150"
MaxLenField=1
}
Add(Label,13019774,175,161)
{
Left=20
Top=10
Width=150
Height=20
Caption=" Канал Данные "
AutoSize=1
}
Add(IndexToChanel,5765865,476,273)
{
Count=5
Point(Data)
Point(EndIdx)
link(onEvent1,7446813:doText,[])
link(onEvent2,906816:doText,[(571,286)(571,314)])
link(onEvent3,158500:doText,[(564,293)(564,349)])
link(onEvent4,11918236:doText,[(557,300)(557,384)])
link(onEvent5,1558021:doText,[(550,307)(550,419)])
link(Data,5346580:Text,[])
}
Add(Edit,7446813,581,273)
{
Left=115
Top=70
Text=""
}
Add(Edit,906816,581,308)
{
Left=115
Top=95
Text=""
}
Add(Edit,158500,581,343)
{
Left=115
Top=120
Text=""
}
Add(Edit,11918236,581,378)
{
Left=115
Top=145
Text=""
}
Add(Edit,1558021,581,413)
{
Left=115
Top=170
Text=""
}
Add(For,15680118,350,273)
{
link(onEvent,5765865:doEvent,[])
link(Start,12848207:Data,[])
link(End,2432431:Var,[(363,257)(412,257)])
}
Add(If_else,8194486,231,217)
{
Type=5
Op2=Integer(-1)
link(onTrue,15341812:doReplace,[(270,223)(270,167)])
link(onFalse,8904168:doText,[])
link(Op1,8347134:Var2,[])
}
Add(GetDataEx,8347134,231,140)
{
link(Data,10036881:Text,[])
}
Add(Replace,15341812,287,161)
{
SubStr=" "
link(onReplace,5646015:doSplit,[])
link(Str,8347134:Var3,[(293,145)])
}
Add(GetIndexData,2432431,406,217)
{
link(onIndex,15680118:doFor,[(445,223)(445,314)(333,314)(333,279)])
link(Data1,5646015:Part1,[])
link(Data2,5765865:EndIdx,[(419,208)(454,208)(454,320)(482,320)])
}
Add(ChanelToIndex,12848207,350,217)
{
Point(Data)
link(onIndex,2432431:doIndex,[])
}
Add(VisualStrings,8904168,287,224)
{
Lines=#1:0|
Point(doText)
Point(onText)
link(onText,12848207:doWork2,[])
}
Add(MultiStrPart,5646015,406,161)
{
Char="-"
Count=1
Direct=1
link(onSplit,12848207:doWork1,[(445,167)(445,153)(340,153)(340,223)])
}


------------ Дoбавленo в 03.01:
Или вот так его можно загнать в мультик. Как вариант

Add(MainForm,6609510,357,168)
{
}
Add(Edit,10036881,413,210)
{
Left=35
Top=30
Text="-1"
}
Add(Button,9639862,301,266)
{
Left=30
Top=70
Caption=">>"
link(onClick,14064421:doData,[])
}
Add(Edit,5346580,357,210)
{
Left=115
Top=30
Text="150"
MaxLenField=1
}
Add(Label,13019774,413,168)
{
Left=20
Top=10
Width=150
Height=20
Caption=" Канал Данные "
AutoSize=1
}
Add(MultiElementEx,1844477,406,266)
{
link(onEvent,3581845:Cable,[])
link(Index,10036881:Text,[])
}
BEGIN_SDK
Add(EditMultiEx,4598509,21,21)
{
WorkCount=#7:doEvent|0:|
EventCount=#7:onEvent|0:|
DataCount=#5:Index|4:Data|
Width=461
Height=221
VOffset=105
HOffset=21
link(doEvent,12385825:doValue,[])
}
Add(IndexToChanel,5765865,385,182)
{
Count=5
Point(Data)
Point(EndIdx)
link(onEvent1,8173869:Wire1,[])
link(onEvent2,8173869:Wire2,[])
link(onEvent3,8173869:Wire3,[])
link(onEvent4,8173869:Wire4,[])
link(onEvent5,8173869:Wire5,[])
link(Data,12385825:Value,[(391,173)(48,173)])
}
Add(For,15680118,259,182)
{
link(onEvent,5765865:doEvent,[])
link(Start,12848207:Data,[])
link(End,2432431:Var,[(272,166)(321,166)])
}
Add(If_else,8194486,140,126)
{
Type=5
Op2=Integer(-1)
link(onTrue,15341812:doReplace,[(186,132)(186,76)])
link(onFalse,8904168:doText,[])
link(Op1,7380904:Var2,[])
}
Add(Replace,15341812,196,70)
{
SubStr=" "
link(onReplace,5646015:doSplit,[])
link(Str,7380904:Var3,[(202,40)])
}
Add(GetIndexData,2432431,315,126)
{
link(onIndex,15680118:doFor,[(354,132)(354,223)(242,223)(242,188)])
link(Data1,5646015:Part1,[])
link(Data2,5765865:EndIdx,[(328,117)(363,117)(363,229)(391,229)])
}
Add(ChanelToIndex,12848207,259,126)
{
Point(Data)
link(onIndex,2432431:doIndex,[])
}
Add(VisualStrings,8904168,196,133)
{
Lines=#1:0|
Point(doText)
Point(onText)
link(onText,12848207:doWork2,[])
}
Add(MultiStrPart,5646015,315,70)
{
Char="-"
Count=1
Direct=1
link(onSplit,12848207:doWork1,[(354,76)(354,62)(249,62)(249,132)])
}
Add(Memory,12385825,42,126)
{
Point(Data)
link(onData,1989454:doData,[])
link(Data,4598509:Data,[])
}
Add(CableWork,8173869,441,182)
{
Count=5
link(Cable,4598509:onEvent,[(466,188)(466,132)])
}
Add(GetDataEx,7380904,140,35)
{
Angle=3
link(Data,4598509:Index,[(55,40)])
}
Add(DoData,1989454,91,126)
{
link(onEventData,8194486:doCompare,[])
}
END_SDK
Add(Edit,7446813,518,266)
{
Left=115
Top=70
Text=""
}
Add(Edit,906816,518,301)
{
Left=115
Top=95
Text=""
}
Add(Edit,158500,518,336)
{
Left=115
Top=120
Text=""
}
Add(Edit,11918236,518,371)
{
Left=115
Top=145
Text=""
}
Add(Edit,1558021,518,406)
{
Left=115
Top=170
Text=""
}
Add(CableEvent,3581845,455,266)
{
Count=5
link(Wire1,7446813:doText,[])
link(Wire2,906816:doText,[(508,279)(508,307)])
link(Wire3,158500:doText,[(501,286)(501,342)])
link(Wire4,11918236:doText,[(494,293)(494,377)])
link(Wire5,1558021:doText,[(487,300)(487,412)])
}
Add(DoData,14064421,357,266)
{
link(onEventData,1844477:doEvent,[])
link(Data,5346580:Text,[])
}


карма: 22

0
Ответов: 16884
Рейтинг: 1239
#14: 2013-03-30 10:26:18 ЛС | профиль | цитата
nesco, из поста выше Схема 3. Набрал канал=2, нажал кнопку и где искать результат ?
ну.png
Не понял юмора.
Пожалел, что обновился с SVN
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1ну.png [14.7KB] [173]
Ответов: 8926
Рейтинг: 823
#15: 2013-03-30 10:32:31 ЛС | профиль | цитата
nesco, обновился, не смотря код, так и не понял, что задумывалось
(Как-то делал изменения в IndexToChanel по алгоритму: данные передаются в канал по индексу, а на остальные каналы просто пустое событие. Нужно было для обнуления)
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)