Вверх ↑
Этот топик читают: Гость
Ответов: 65
Рейтинг: 1
#1: 2010-08-25 00:30:20 ЛС | профиль | цитата
Никак не могу победить задачку, в приведенной схеме задача:
Если нажать кнопку Start и ждать более 2 с то светодиод включится
Если нажать сарт и более чем через 2с нажать стоп то светодиод выключится.
Если нажать старт и до 2с нажать стоп то светодиод не включится совсем.

code_20215.txt
карма: 1

0
файлы: 1code_20215.txt [879B] [102]
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2010-08-25 00:52:52 ЛС | профиль | цитата
Вот так надо, или я не понял

code_20216.txt
карма: 22

1
файлы: 1code_20216.txt [508B] [110]
Голосовали:Radio
Ответов: 356
Рейтинг: 31
#3: 2010-08-25 00:55:16 ЛС | профиль | цитата
В If_else задан строковый тип, а счётчик выдаёт число.

p.s. Линия данных между ними лишняя, сигнал на выключение отсутствует.
Пользуйся отладкой и сам всё увидишь.

Add(Debug,16616002,530,265)
{
}
карма: 0

1
Голосовали:Radio
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2010-08-25 00:56:28 ЛС | профиль | цитата
Radio, просьба изложить причины, по которым MMTimer(чье применение противопоказано совмесно с интерфейсными элементами) был использован вместо обычного Timer
карма: 27
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#5: 2010-08-25 01:01:16 ЛС | профиль | цитата
Dilma писал(а):
был использован вместо обычного Timer

Действительно, для этой схемы MMTimer совершенно лишний, если только интерфейсный элемент не применен в качестве индикатора на момент отладки
карма: 22

1
Голосовали:Radio
Ответов: 65
Рейтинг: 1
#6: 2010-08-25 10:43:32 ЛС | профиль | цитата
Dilma
MMtimer выбрал по ошибке.

nesco
да с светодиодом получилось очень просто на самом деле, я выбрал не очень удачный пример где мне это нужно,
вот привожу полный вариант где хотелось использовать задуманное:
если между стартом и остановкой записи проходит меньше двух секунд то wav файл удалить
если больше 2 секунд то wav файл оставить.

думаю что куда-то нужно привязать timer но куда не могу придумать.

и второй вопрос, как можно получить текущее время с точностью до миллисекунд, компонент time выдает только до секунд.


Add(BASS_Version,10183901,288,63)
{
link(onCheckOk,12302345:doInit,[])
link(onCheckFailed,109118:doMessage,[(332,76)(332,118)])
}
Add(Message,11232751,288,112)
{
Message="Error BASS initialization"
Caption="Error"
Icon=1
}
Add(Message,109118,344,112)
{
Message="Incorrect version of BASS library "
Caption="Error"
Icon=1
}
Add(BASS_Init,4252681,204,63)
{
link(onInit,10183901:doCheck,[])
link(onError,11232751:doMessage,[(276,76)(276,118)])
link(Handle,4235588:Handle,[(224,51)(191,51)(191,114)(104,114)])
}
Add(BASS_RecordCenter,12302345,344,63)
{
link(onInit,15862958:doEnumInputs,[])
link(onError,11713735:doMessage,[(388,76)(388,118)])
}
Add(Message,11713735,400,112)
{
Message="InitRecord failed!"
Caption="Error"
Icon=1
}
Add(BASS_RecordInput,15862958,400,63)
{
link(onEnumInputs,9998094:doSetInput,[])
}
Add(BASS_InputControl,9998094,462,63)
{
Volume=1
State=1
link(Volume,10061734:Var1,[(475,55)])
link(State,10061734:Var2,[])
}
Add(Memory,4613851,476,7)
{
Default=Integer(1)
}
Add(GetDataEx,10061734,476,50)
{
link(Data,4613851:Value,[])
}
Add(MainForm,4235588,98,49)
{
Width=315
Height=142
Point(Handle)
link(onCreate,4252681:doInit,[])
}
Add(BASS_RecordStart,5066922,320,232)
{
Freq=8000
link(FileName,4425915:Data2,[(326,207)(305,207)(305,295)(214,295)])
}
Add(Time,15504453,201,140)
{
Format="h_m_s"
}
Add(FormatStr,7721935,201,200)
{
DataCount=1
Mask="%1.wav"
Point(FString)
link(onFString,5066922:doStart,[(277,206)(277,238)])
link(Str1,15504453:FormatTime,[])
}
Add(GetData,4425915,201,252)
{
Count=3
link(Data,7721935:FString,[])
}
Add(FileTools,13343416,201,308)
{
DelToRecycle=1
link(FileName,4425915:Data1,[])
}
Add(Button,12867922,14,217)
{
Left=30
Top=25
Caption="Start"
link(onClick,7721935:doString,[(124,223)(124,206)])
}
Add(Button,8111328,15,277)
{
Left=30
Top=55
Caption="Stop"
link(onClick,7282154:doEvent1,[(65,283)(65,307)])
}
Add(Hub,7282154,84,301)
{
link(onEvent1,5066922:doStop,[(158,307)(158,245)])
link(onEvent2,13343416:doDelete,[(150,314)(150,328)])
}
карма: 1

0
Ответов: 3349
Рейтинг: 233
#7: 2010-08-25 10:57:00 ЛС | профиль | цитата
Используй TimeCounter
карма: 1

1
Голосовали:Radio
Ответов: 65
Рейтинг: 1
#8: 2010-08-25 17:02:53 ЛС | профиль | цитата
а схемой может кто нибудь помочь ?
карма: 1

0
Ответов: 3349
Рейтинг: 233
#9: 2010-08-25 17:07:51 ЛС | профиль | цитата
Можно
------------ Дoбавленo в 17.07:
Add(Button,8672474,168,91)
{
Left=185
Top=80
link(onClick,6133124:doSwitch,[])
}
Add(TimeCounter,3071752,287,98)
{
link(onStop,1832139:doCompare,[])
}
Add(Switch,6133124,238,91)
{
Point(onOn)
Point(onOff)
link(onOn,3071752:doStart,[])
link(onOff,3071752:doStop,[])
}
Add(Message,7519428,427,105)
{
Message="5 секунд прошло"
}
Add(If_else,1832139,357,105)
{
Type=4
Op2=Integer(5000)
link(onTrue,7519428:doMessage,[])
link(onFalse,2689343:doMessage,[])
}
Add(Message,2689343,476,112)
{
Message="5 секунд не прошло"
}


карма: 1

1
Голосовали:Radio
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)