Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 6
Рейтинг: 0
#1: 2017-02-04 08:13:37 ЛС | профиль | цитата
Как в HiAsm сделать условия если число делится на 3 то выполняет одно действия если не делится другое. Смотрел блок IF но там не нашёл такой возможности.
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8885
Рейтинг: 823
#2: 2017-02-04 09:28:25 ЛС | профиль | цитата
Net,


Add(Edit,14325656,189,56)
{
Left=95
Top=40
Text="3"
DataType=2
}
Add(Button,11189496,91,105)
{
Left=30
Top=40
link(onClick,3337585:doOperation,[])
}
Add(Edit,14982217,147,56)
{
Left=95
Top=15
Text="3131"
DataType=2
}
Add(Label,4161317,322,105)
{
Left=155
Top=45
}
Add(Math,3337585,168,105)
{
OpType=8
ResultType=0
link(onResult,3325974:doCompare,[])
link(Op1,14982217:Text,[(174,96)(153,96)])
link(Op2,14325656:Text,[(181,96)(195,96)])
}
Add(If_else,3325974,217,105)
{
Op2=Integer(0)
link(onTrue,4800895:doClear,[(256,111)(256,97)])
link(onFalse,6816358:doClear,[(256,118)(256,139)])
}
Add(Memory,4800895,266,84)
{
Default=String(Да)
link(onData,8151620:doWork1,[(312,90)])
}
Add(Memory,6816358,266,126)
{
Default=String(Нет)
link(onData,8151620:doWork3,[(312,132)])
}
Add(HubEx,8151620,308,105)
{
link(onEvent,4161317:doText,[])
}

карма: 19

0
Ответов: 9906
Рейтинг: 351
#3: 2017-02-04 11:34:19 ЛС | профиль | цитата
Сейчас придет Tad, и расскажет, как 3 элемента заменить одним
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#4: 2017-02-04 13:55:04 ЛС | профиль | цитата

Можно и четыре выбросить


Редактировалось 2 раз(а), последний 2017-02-04 14:02:39
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#5: 2017-02-04 15:31:25 ЛС | профиль | цитата
Приводить статистику для IC - жульничество
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#6: 2017-02-04 20:11:48 ЛС | профиль | цитата
IC такой же компонент как и все остальные.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#7: 2017-02-05 01:49:59 ЛС | профиль | цитата
Без IC у меня получилось только на 7-ми. Меньше вряд ли уже получится

Схема

Add(MainForm,2953706,196,154)
{
}
Add(Edit,14325656,287,154)
{
Left=95
Top=40
Text="3"
DataType=2
}
Add(Button,11189496,196,203)
{
Left=30
Top=40
link(onClick,8711217:doCalc,[])
}
Add(Edit,14982217,245,154)
{
Left=95
Top=15
Text="3131"
DataType=2
}
Add(Label,4161317,392,168)
{
Left=155
Top=45
}
Add(MathParse,8711217,266,203)
{
MathStr="%1 mod %2 = 0"
ResultType=0
link(onResult,10772747:doGetString,[])
link(X1,14982217:Text,[(272,194)(251,194)])
link(X2,14325656:Text,[(279,194)(293,194)])
}
Add(StrList,10772747,336,161)
{
Strings=#3:Нет|2:Да|
Point(doGetString)
Point(onGetString)
link(onGetString,4161317:doText,[])
}

Хотя можно Math и оставить, все равно 7 будет

Редактировалось 4 раз(а), последний 2017-02-05 01:55:58
карма: 22

0
Ответов: 198
Рейтинг: 2
#8: 2017-02-05 02:37:58 ЛС | профиль | цитата
Никогда не замечал, что в HiASM есть статистика. Я вообще меню раньше не замечал
карма: 0

0
Ответов: 497
Рейтинг: 16
#9: 2017-02-05 05:20:27 ЛС | профиль | цитата
как вариант
Add(Case,6531882,427,133)
{
Value=Integer(0)
DataOnTrue=String(yes)
link(onTrue,12651786:doWork2,[])
}
Add(Math,8948886,364,133)
{
OpType=8
link(onResult,6531882:doCase,[])
link(Op1,5212042:Text,[])
link(Op2,1839778:Text,[])
}
Add(Edit,5212042,364,35)
{
Left=190
Top=15
}
Add(Edit,1839778,371,77)
{
Left=185
Top=55
}
Add(Button,16139851,259,126)
{
Left=90
Top=85
Data=String(no)
link(onClick,10289993:doEvent1,[])
}
Add(Label,2983325,532,140)
{
Left=275
Top=95
}
Add(Hub,10289993,322,126)
{
link(onEvent1,12651786:doWork1,[(494,132)])
link(onEvent2,8948886:doOperation,[])
}
Add(HubEx,12651786,490,140)
{
link(onEvent,2983325:doText,[])
}
карма: 1
        ]  
0
Ответов: 16884
Рейтинг: 1239
#10: 2017-02-05 09:38:06 ЛС | профиль | цитата
Net писал(а):
если число делится на 3 то выполняет ОДНО действия если не делится ДРУГОЕ (действие).
т.ч. правильное решение у Леонида. (Math(mod)+If_else)

Редактировалось 2 раз(а), последний 2017-02-05 09:41:38
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#11: 2017-02-05 10:46:08 ЛС | профиль | цитата
Tad писал(а):
(Math(mod)+If_else

Ну почему же только такая связка, не надо быть таким категоричным? Вполне можно реализовать и на MathParse + IndexToChanel. И вот только не надо тут втирать про размер.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#12: 2017-02-05 15:22:43 ЛС | профиль | цитата
nesco писал(а):
Вполне можно
Можно.
В цирке ходят на руках.
Для цирка - это нормально.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 6
Рейтинг: 0
#13: 2017-02-07 00:29:13 ЛС | профиль | цитата
Бил немного занят. Спасибо за ответы. Я так понял что только блоком if else это сделать нельзя надо добавлять блок math?
карма: 1

0
Ответов: 8885
Рейтинг: 823
#14: 2017-02-07 00:58:31 ЛС | профиль | цитата
Net, без математики определить делится-ли число нацело не выйдет
карма: 19

0
Ответов: 6
Рейтинг: 0
#15: 2017-02-07 01:17:34 ЛС | профиль | цитата
Леонид, ну это понятное дело что без математики не получится. проста думал что можно сразу в иф всунут математику. в общем ясно. спасибо.
карма: 1

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