Вверх ↑
Этот топик читают: Гость
Ответов: 164
Рейтинг: 5
#1: 2019-12-20 13:08:47 ЛС | профиль | цитата
________________
*УДАЛЕНО*

Редактировалось 9 раз(а), последний 2020-01-01 20:25:27
карма: 0
c, c++, lua
0
vip
#1.1контекстная реклама от партнеров
Ответов: 164
Рейтинг: 5
#2: 2019-12-20 17:20:32 ЛС | профиль | цитата
Так-с... Тут при использовании элемента на практике я столкнулся с проблемой -
Его можно использовать лишь один раз (лол).
Покопавшись в коде я понял, что что-то HiASM мне не то сгенерировал... Можете помочь решить проблемку
карма: 0
c, c++, lua
0
Главный модератор
Ответов: 2997
Рейтинг: 395
#3: 2019-12-20 17:49:30 ЛС | профиль | цитата
Вентиль
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 164
Рейтинг: 5
#4: 2019-12-20 18:36:50 ЛС | профиль | цитата
Спасибо
карма: 0
c, c++, lua
0
Ответов: 20
Рейтинг: 5
#5: 2019-12-21 07:51:28 ЛС | профиль | цитата
Я что-то не понял нафига это нужно.
Может лучше использовать не вентили а флаги?
Состояние одного и того-же флага можно использовать многократно в разных местах схемы.
По хорошему надо убрать приведения типов, ну да так потянет.

Add(Switch,5503963,266,21)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(doOn)
Point(State)
}
Add(LineBreakEx,11799293,182,28)
{
Caption="doOffFlag1"
Type=1
link(OnEvent,5503963:doReset,[])
}
Add(LineBreakEx,14488726,182,42)
{
Caption="doOnFlag1"
Type=1
link(OnEvent,5503963:doOn,[(260,48)(260,41)])
}
Add(LineBreakEx,9331624,161,14)
{
Caption="doSwitchFlag1"
Type=1
link(OnEvent,5503963:doSwitch,[(259,20)(259,27)])
}
Add(LineBreakEx,2087524,266,63)
{
@Color=5635925
Caption="Flag1"
Type=3
link(_Data,5503963:State,[])
}
Add(Switch,16602375,469,21)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(doOn)
Point(State)
}
Add(LineBreakEx,2971387,385,28)
{
Caption="doOffFlag2"
Type=1
link(OnEvent,16602375:doReset,[])
}
Add(LineBreakEx,6389903,385,42)
{
Caption="doOnFlag2"
Type=1
link(OnEvent,16602375:doOn,[(463,48)(463,41)])
}
Add(LineBreakEx,12861339,364,14)
{
Caption="doSwitchFlag2"
Type=1
link(OnEvent,16602375:doSwitch,[(462,20)(462,27)])
}
Add(LineBreakEx,16135815,469,63)
{
@Color=22015
Caption="Flag2"
Type=3
link(_Data,16602375:State,[])
}
Add(Button,11404202,126,217)
{
Left=40
Top=20
Width=120
Caption="Изменить флаг 1"
link(onClick,1117348:doEvent1,[])
}
Add(LED,4651498,476,217)
{
Left=220
Top=25
link(onChange,3881274:doWork1,[(555,223)])
}
Add(IndexToChanel,647185,413,224)
{
Point(Index)
link(onEvent1,4651498:doOff,[])
link(onEvent2,4651498:doOn,[])
link(Index,10772808:getVar,[])
}
Add(LineBreakEx,10772808,413,203)
{
@Color=5635925
Caption="Flag1"
Type=2
}
Add(LineBreakEx,8962975,238,196)
{
Caption="doSwitchFlag1"
}
Add(Hub,1117348,203,217)
{
OutCount=3
link(onEvent1,8962975:doWork,[(224,223)(224,202)])
link(onEvent2,647185:doEvent,[])
link(onEvent3,16391842:doEvent1,[(266,237)(266,391)])
}
Add(Button,13999204,126,301)
{
Left=40
Top=90
Width=120
Caption="Изменить флаг 2"
link(onClick,13372414:doEvent1,[])
}
Add(LED,3188822,476,301)
{
Left=220
Top=90
link(onChange,3881274:doWork2,[])
}
Add(IndexToChanel,12314134,413,308)
{
Point(Index)
link(onEvent1,3188822:doOff,[])
link(onEvent2,3188822:doOn,[])
link(Index,7484650:getVar,[])
}
Add(LineBreakEx,7484650,413,287)
{
@Color=22015
Caption="Flag2"
Type=2
}
Add(LineBreakEx,692591,238,280)
{
Caption="doSwitchFlag2"
}
Add(Hub,13372414,203,301)
{
OutCount=3
link(onEvent1,692591:doWork,[(224,307)(224,286)])
link(onEvent2,12314134:doEvent,[])
link(onEvent3,16391842:doEvent2,[(258,321)(258,398)])
}
Add(LED,12819596,473,385)
{
Left=220
Top=155
}
Add(IndexToChanel,3889703,399,392)
{
Point(Index)
PColor(onEvent2,22015)
link(onEvent2,12819596:doOn,[])
link(Index,7402575:getVar,[])
}
Add(LineBreakEx,7402575,399,371)
{
@Color=22015
Caption="Flag2"
Type=2
}
Add(IndexToChanel,10618315,322,385)
{
Point(Index)
PColor(onEvent2,65280)
link(onEvent2,3889703:doEvent,[])
link(Index,8746684:getVar,[])
}
Add(LineBreakEx,8746684,322,364)
{
@Color=5635925
Caption="Flag1"
Type=2
}
Add(Hub,16391842,280,385)
{
InCount=2
OutCount=1
link(onEvent1,10618315:doEvent,[])
}
Add(Label,13703542,126,385)
{
Left=40
Top=160
Width=133
Height=17
Caption="Оба флага установлены?"
}
Add(HubEx,3881274,551,301)
{
Angle=1
link(onEvent,12819596:doOff,[(555,354)(461,354)(461,398)])
}
Add(Button,4340414,128,466)
{
Left=40
Top=205
Width=120
Height=45
Caption="Если оба флага то написать "КУКУ" иначе очистить"
Data=String()
link(onClick,4807626:doData,[])
}
Add(IndexToChanel,2526793,371,473)
{
Point(Index)
PColor(onEvent2,22015)
link(onEvent1,15189735:doWork3,[(431,479)])
link(onEvent2,16357531:doWork2,[])
link(Index,9185986:getVar,[])
}
Add(LineBreakEx,9185986,371,452)
{
@Color=22015
Caption="Flag2"
Type=2
}
Add(IndexToChanel,10825458,294,466)
{
Point(Index)
PColor(onEvent2,65280)
link(onEvent1,15189735:doWork2,[(376,472)(376,475)])
link(onEvent2,2526793:doEvent,[])
link(Index,1335559:getVar,[])
}
Add(LineBreakEx,1335559,294,445)
{
@Color=5635925
Caption="Flag1"
Type=2
}
Add(Label,13206067,511,480)
{
Left=185
Top=205
Width=133
Height=17
Caption=""
}
Add(DoData,4807626,189,466)
{
Data=String(КУКУ)
link(onEventData,10825458:doEvent,[])
AddHint(-15,-19,55,13,Data)
}
Add(DoData,5047633,441,469)
{
PColor(onEventData,22015)
link(onEventData,16357531:doWork1,[(480,475)])
AddHint(-2,-23,43,13,Data)
}
Add(HubEx,15189735,427,469)
{
link(onEvent,5047633:doData,[])
}
Add(HubEx,16357531,476,480)
{
PColor(onEvent,22015)
link(onEvent,13206067:doText,[])
}
карма: 0

0
Ответов: 1925
Рейтинг: 172
#6: 2019-12-21 08:34:35 ЛС | профиль | цитата
А вот вам и многопозиционный вентиль без внештатных компонентов:

Add(IndexToChanel,12978248,259,196)
{
Count=10
Point(Index)
link(Index,4521499:Position,[])
}
Add(TrackBar,4521499,259,140)
{
Left=50
Top=30
Width=315
}
Add(Button,10352252,196,196)
{
Left=195
Top=195
link(onClick,12978248:doEvent,[])
}
карма: 9
1
Голосовали:UtoECat
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)