Вверх ↑
Этот топик читают: Гость
Ответов: 82
Рейтинг: 2
#1: 2008-05-09 11:59:46 ЛС | профиль | цитата
Хотелось бы иметь под рукой компонент для работы с точками doVisiable, doEnable, и тд, где используется true, false. C поддержкой динамического добавления точек как у HUB'а, то есть на входе несколько точек True False и на выходе с нескольких точек снимается 0 или 1

code_9005.txt
карма: 0

0
файлы: 1code_9005.txt [1.3KB] [544]
Ответов: 5227
Рейтинг: 587
#2: 2008-05-09 13:40:01 ЛС | профиль | цитата
Алексей напрасно всё усложняешь. Обрати внимание на компонент IntToBits

code_9008.txt
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_9008.txt [1022B] [619]
Разработчик
Ответов: 26151
Рейтинг: 2127
#3: 2008-05-09 13:50:45 ЛС | профиль | цитата
Алексей писал(а):
то есть на входе несколько точек True False

Можно сделать, но только как конвертор, или все точки True, или все точки False

------------ Дoбавленo:


andrestudio, к IntToBits надо еще компонент прикручивать, или задавать заранее число, которое попадет битами на выход, так что не совсем уж очень просто.

------------ Дoбавленo:


Хотя вот так и нафиг компонент никакой не нужен



Add(MainForm,4353580,84,266)
{
Left=20
Top=105
}
Add(ChildForm,13719465,350,301)
{
}
BEGIN_SDK
Add(EditMulti,4403742,21,21)
{
WorkCount=1
link(doWork1,394959:doVisible,[(28,27)(28,139)])
}
Add(MainForm,394959,35,105)
{
Left=35
Top=105
Visible=1
Point(doVisible)
}
END_SDK
Add(Button,11074507,350,266)
{
Left=180
Top=60
Width=80
Height=25
Enabled=1
Point(doEnabled)
}
Add(Button,99861,84,427)
{
Left=65
Top=60
Width=80
Height=25
Caption="True"
link(onClick,10147085:doWork,[])
}
Add(Button,2577493,84,385)
{
Left=65
Top=95
Width=80
Height=25
Caption="False"
link(onClick,8771223:doWork,[])
}
Add(Hub,5391872,350,427)
{
link(onEvent1,7022331:doWork,[])
link(onEvent2,11638653:doWork,[(394,440)(394,447)])
}
Add(DoData,9694258,301,427)
{
Data=Integer(1)
link(onEventData,5391872:doEvent1,[])
}
Add(LineBreakEx,5592057,238,427)
{
Caption="True"
Type=1
link(OnEvent,9694258:doData,[])
}
Add(LineBreakEx,10147085,133,427)
{
Caption="True"
}
Add(LineBreakEx,9037731,238,385)
{
Caption="False"
Type=1
link(OnEvent,6024477:doData,[])
}
Add(LineBreakEx,8771223,133,385)
{
Caption="False"
}
Add(LineBreakEx,7022331,406,427)
{
Caption="_1"
}
Add(LineBreakEx,11638653,406,441)
{
Caption="_2"
}
Add(LineBreakEx,13468892,294,266)
{
Caption="_1"
Type=1
link(OnEvent,11074507:doEnabled,[])
}
Add(LineBreakEx,16326104,294,301)
{
Caption="_2"
Type=1
link(OnEvent,13719465:doWork1,[])
}
Add(Hub,16611704,350,385)
{
link(onEvent1,2592491:doWork,[])
link(onEvent2,13297111:doWork,[(394,398)(394,405)])
}
Add(DoData,6024477,301,385)
{
Data=Integer(0)
link(onEventData,16611704:doEvent1,[])
}
Add(LineBreakEx,2592491,406,385)
{
Caption="_1"
}
Add(LineBreakEx,13297111,406,399)
{
Caption="_2"
}

карма: 22

0
Ответов: 82
Рейтинг: 2
#4: 2008-05-09 14:41:06 ЛС | профиль | цитата
Просто сейчас делаю программу с умным интерфейсом, где от определенных действий пользователя будут запрещаться/разрешаться кнопки, переключатели, флажки и т.д, чтоб ничего лишнего не нажал, приходится изощряться HUB'ов кучу ставить, а так бы раз - и задал пару точек на входе, пару на выходе.
карма: 0

0
Ответов: 5227
Рейтинг: 587
#5: 2008-05-09 15:13:26 ЛС | профиль | цитата
Тем более, двоичная арифметика и IntToBits как раз тебе в этом помогут, да и нового велосипеда не будет
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2008-05-11 13:23:55 ЛС | профиль | цитата
контейнер из первого поста этой темы заменяет связка из двух элементов
code_9020.txt

все инструменты в HiAsm уже давным давно придуманы...
карма: 27
0
файлы: 1code_9020.txt [119B] [593]
Ответов: 82
Рейтинг: 2
#7: 2008-05-11 20:05:45 ЛС | профиль | цитата
Dilma, это совсем не то, что мне нужно.
У компонента должны быть динамические точки как у хаба. То есть в свойствах должны быть следующие поля:
InTrue
InFalse
OutCount

Например, можно заменить вот такой кусок: code_9022.txt одним компонентом
карма: 0

-1
файлы: 1code_9022.txt [1.8KB] [609]
Голосовали:andrestudio
Ответов: 3851
Рейтинг: 159
#8: 2008-05-11 20:51:49 ЛС | профиль | цитата
Алексей, так проще:
code_9023.txt
Можно мульт сбацать:
code_9024.txt

Замена двух элементов одним не даёт большой выгоды, особенно при возможности использовать мульты
карма: 0
начавший
0
файлы: 2code_9023.txt [1.6KB] [639], code_9024.txt [1.5KB] [554]
Ответов: 205
Рейтинг: 3
#9: 2008-05-11 21:05:10 ЛС | профиль | цитата
интересно ... но в схеме code_9024.txt нужно потом самому соединять связи....
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2008-05-11 21:09:44 ЛС | профиль | цитата
Алексей, мы уже давным давно не используем N-ое количество вхидных точек хаба и делаем так:
code_9025.txt

т.е. необходимость в отдельном элементе все еще не видна.
карма: 27
0
файлы: 1code_9025.txt [845B] [635]
Ответов: 3851
Рейтинг: 159
#11: 2008-05-11 21:51:29 ЛС | профиль | цитата
millano писал(а):
в схеме code_9024.txt нужно потом самому соединять связи.
Достаточно сделать это один раз, а потом использовать готовые мульты на 5 (10, 15, 20 ..) выходов.
карма: 0
начавший
0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2008-05-11 22:02:00 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2021-06-24 07:44:43
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#13: 2008-05-11 22:16:12 ЛС | профиль | цитата
Алексей писал(а):
Например, можно заменить вот такой кусок: code_9022.txt одним компонентом


Вот схемка твоего варианта -- на кой черт здесь компонент



Add(MainForm,7507100,140,252)
{
Left=20
Top=105
}
Add(Button,3078814,140,336)
{
Left=125
Top=115
link(onClick,14675102:doWork,[])
}
Add(Button,2625117,140,301)
{
Left=125
Top=65
link(onClick,6010106:doWork,[])
}
Add(Button,9808793,140,385)
{
Left=125
Top=90
link(onClick,3119687:doWork,[])
}
Add(Button,11817729,140,420)
{
Left=125
Top=40
link(onClick,1754073:doWork,[])
}
Add(Button,623608,504,315)
{
Left=280
Top=40
Point(doEnabled)
}
Add(Button,3685432,504,357)
{
Left=280
Top=65
Point(doEnabled)
}
Add(Button,3018622,504,392)
{
Left=280
Top=90
Point(doEnabled)
}
Add(Button,4350447,504,434)
{
Left=280
Top=115
Point(doEnabled)
}
Add(Button,8276107,504,469)
{
Left=280
Top=140
Point(doEnabled)
}
Add(Button,5557640,504,539)
{
Left=280
Top=165
Point(doEnabled)
}
Add(Button,8800828,504,504)
{
Left=280
Top=190
Point(doEnabled)
}
Add(InfoTip,13672202,252,301)
{
Info=#9:Компонент|
Frame=3
Width=197
Height=109
Margin=7
}
Add(Hub,5996636,392,336)
{
OutCount=7
link(onEvent1,623608:doEnabled,[(464,342)(464,321)])
link(onEvent2,3685432:doEnabled,[(464,349)(464,363)])
link(onEvent3,3018622:doEnabled,[(464,356)(464,398)])
link(onEvent4,4350447:doEnabled,[(464,363)(464,440)])
link(onEvent5,8276107:doEnabled,[(464,370)(464,475)])
link(onEvent6,8800828:doEnabled,[(464,377)(464,510)])
link(onEvent7,5557640:doEnabled,[(464,384)(464,545)])
}
Add(ChanelToIndex,3298584,343,336)
{
link(onIndex,5996636:doEvent1,[])
}
Add(LineBreakEx,10346555,273,343)
{
Caption="InTrue"
Type=1
link(OnEvent,3298584:doWork2,[])
}
Add(LineBreakEx,9669485,273,329)
{
Caption="InFalse"
Type=1
link(OnEvent,3298584:doWork1,[(335,335)(335,342)])
}
Add(LineBreakEx,6010106,189,301)
{
Caption="InFalse"
}
Add(LineBreakEx,14675102,189,336)
{
Caption="InFalse"
}
Add(LineBreakEx,3119687,189,385)
{
Caption="InTrue"
}
Add(LineBreakEx,1754073,189,420)
{
Caption="InTrue"
}


andrestudiо писал(а):
не проще один раз изучить двоичную арифметику и потом всю дорогу её использовать...


Да и двоичная арифметика в приведенном примере нафиг не нужна
карма: 22

0
Ответов: 5227
Рейтинг: 587
#14: 2008-05-11 22:25:22 ЛС | профиль | цитата
nesco - пример Алексея достаточно приметивен и полной картины не отображает, в умном интерфейсе где нужно включение и выключение большого числа элементов схемы сделают схему ветвистой однозначно.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
Голосовали:Алексей
Ответов: 82
Рейтинг: 2
#15: 2008-05-11 22:35:18 ЛС | профиль | цитата
Ну наконец-то, хоть один человек меня понял, ведь мне не нужны способы как сделать ... , мне нужен один компонент - ткнул его и настроил.
andrestudio +
------------ Дoбавленo:

Ну наконец-то хоть один человек меня понял, ведь мне не нужны способы как сделать ... , мне нужен один компонент - ткнул его и настроил.
andrestudio +
карма: 0

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