Вверх ↑
Этот топик читают: Гость
Ответов: 33
Рейтинг: 1
#1: 2014-01-22 16:20:06 ЛС | профиль | цитата
Здравствуйте!
Имеется два события. При срабатывании одного из них программа выполняется дальше. Необходимо, чтобы программа продолжала работать дальше ТОЛЬКО при срабатывании обоих событий.

Подскажите пожалуйста, как быть?

ЗЫ что-то типа "логического и".
карма: 0

0
Ответов: 196
Рейтинг: 43
#2: 2014-01-22 16:36:51 ЛС | профиль | цитата
Посмотри, может подойдёт.
Файловый архив >> Компоненты >> Накопитель событий.

карма: 2

0
Ответов: 1343
Рейтинг: 31
#3: 2014-01-22 16:49:26 ЛС | профиль | цитата
code_32887.txt

вроде так если я правильно понял
карма: 2

0
файлы: 1code_32887.txt [1.3KB] [271]
Разработчик
Ответов: 4698
Рейтинг: 426
#4: 2014-01-22 22:20:14 ЛС | профиль | цитата
Можно проще:
Add(MainForm,13480815,329,189)
{
link(onCreate,4771629:doOff,[(368,209)(368,244)])
}
Add(Button,70171,224,238)
{
Left=20
Top=5
Caption="1"
link(onClick,7019604:doWork2,[])
}
Add(Button,15132963,224,280)
{
Left=20
Top=65
Caption="2"
link(onClick,7019604:doWork3,[(298,286)])
}
Add(LED,4771629,378,231)
{
Left=175
Top=35
}
Add(CounterEx,11607492,329,238)
{
Max=1
Point(onThroughMax)
link(onThroughMax,4771629:doOn,[])
}
Add(HubEx,7019604,294,238)
{
link(onEvent,11607492:doNext,[])
}
карма: 10
0
Ответов: 16884
Рейтинг: 1239
#5: 2014-01-22 22:56:36 ЛС | профиль | цитата
Assasin,
duh писал(а):
Необходимо, чтобы программа продолжала работать дальше ТОЛЬКО при срабатывании обоих событий.
А у тебя двойное нажатие на одну и ту же кнопку вызовет срабатывание.
Стояла и у меня такая задача. Пришлось создавать "Накопитель событий". Где-то в компонентах валяется.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 704
Рейтинг: 44
#6: 2014-01-22 23:17:23 ЛС | профиль | цитата
Tad писал(а):
А у тебя двойное нажатие на одну и ту же кнопку вызовет срабатывание

А так code_32889.txt
карма: 0

0
файлы: 1code_32889.txt [650B] [205]
Ответов: 875
Рейтинг: 322
#7: 2014-01-22 23:31:08 ЛС | профиль | цитата
элементов многовато, но стандартные...
code_32890.txt

условия соблюдены.
карма: 1

0
файлы: 1code_32890.txt [1.1KB] [272]
Ответов: 16884
Рейтинг: 1239
#8: 2014-01-22 23:45:29 ЛС | профиль | цитата
Kazbek17 писал(а):
А так
Те же грабли.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 704
Рейтинг: 44
#9: 2014-01-22 23:57:11 ЛС | профиль | цитата
Tad писал(а):
Те же грабли.
Не согласен я с вами . Грабли разные. В мой схеме событие происходит после того, когда нажаты были обе кнопки и отрабатывает компонент if на точке onTrue, после уже работает onFalse и событие уже не вызывается.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2014-01-23 00:06:43 ЛС | профиль | цитата
Kazbek17,повторюсь
duh писал(а):
Необходимо, чтобы программа продолжала работать дальше ТОЛЬКО при срабатывании обоих событий.
Обоих, а не двух.
Tad писал(а):
А у тебя двойное нажатие на одну и ту же кнопку вызовет срабатывание.
или ты выложил не ту схему.
Мне пришлось отслеживать 17 беспорядочных событий.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#11: 2014-01-23 00:06:57 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-09 10:25:47
карма: 0

0
Ответов: 9906
Рейтинг: 351
#12: 2014-01-23 00:09:41 ЛС | профиль | цитата
Чего вы мучаетесь - не пойму...
Как говорится, найдите три отличия
Add(Button,70171,252,112)
{
Left=20
Top=26
Caption="1"
Data=Integer(1)
link(onClick,3576977:doWork2,[])
}
Add(Button,15132963,252,154)
{
Left=20
Top=65
Caption="2"
Data=Integer(2)
link(onClick,3576977:doWork3,[(312,160)])
}
Add(LED,4771629,490,56)
{
Left=98
Top=42
}
Add(Math,13877513,357,112)
{
OpType=5
ResultType=0
Point(doClear)
link(onResult,7965754:doCompare,[])
link(Op1,13877513:Result,[(363,100)(351,100)(351,156)(363,156)])
}
Add(HubEx,3576977,308,112)
{
link(onEvent,13877513:doOperation,[])
}
Add(If_else,7965754,413,112)
{
Op2=Integer(3)
link(onTrue,4771629:doOn,[(473,118)(473,76)])
}
Add(Button,6771661,252,63)
{
Left=153
Top=40
Caption="0"
link(onClick,2792839:doEvent1,[])
}
Add(Hub,2792839,308,63)
{
link(onEvent1,4771629:doOff,[])
link(onEvent2,13877513:doClear,[(333,76)(333,125)])
}
карма: 9

1
Голосовали:sla8a
Ответов: 875
Рейтинг: 322
#13: 2014-01-23 00:14:29 ЛС | профиль | цитата
для двух событий на одном элементе....
code_32892.txt
карма: 1

0
файлы: 1code_32892.txt [435B] [296]
Ответов: 2274
Рейтинг: 677
#14: 2014-01-23 00:14:37 ЛС | профиль | цитата
Galkov, а кода то "няма".
Вот на логике: code_32893.txt
kamakama, можно в вашем примере нажать 2 кнопку и зажечь светодиод, а второе событие подождать?
карма: 11

0
файлы: 1code_32893.txt [796B] [220]
Ответов: 16884
Рейтинг: 1239
#15: 2014-01-23 00:16:22 ЛС | профиль | цитата
sla8a, тоже "няма".
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)