Вверх ↑
Этот топик читают: Гость
Ответов: 1429
Рейтинг: 50
#1: 2010-08-25 14:13:13 ЛС | профиль | цитата
Мне понадобился генератор событий, с интервалом меньше миллисекунды.
Реализовал вот так:


Add(MainForm,2953706,21,105)
{
Width=428
Height=667
}
Add(Sleep,18303,455,210)
{
Delay=500
link(onSleep,9458284:doStop,[(506,216)(506,195)])
}
Add(MMTimer,2862013,329,182)
{
Resolution=0
Interval=1
AutoStop=100
link(onTimer,486769:doEvent1,[])
}
Add(Hub,486769,392,182)
{
link(onEvent1,9458284:doStart,[])
link(onEvent2,18303:doSleepMks,[(434,195)(434,216)])
}
Add(TimeCounter,9458284,525,182)
{
Precision=1
link(onStop,2675712:doAdd,[(604,195)(604,202)])
}
Add(Label,9633999,665,364)
{
Left=195
Top=160
}
Add(Memo,2675712,651,196)
{
Left=310
Top=25
Height=590
}
Add(Button,39262,329,357)
{
Left=76
Top=134
Width=90
Height=30
Font=[Arial,8,0,0,1]
Caption="Start"
link(onClick,3645288:doTimer,[])
}
Add(Sleep,3087436,525,385)
{
Delay=500
link(onSleep,1343225:doStop,[(576,391)(576,370)])
}
Add(MMTimer,3645288,399,357)
{
Resolution=0
Interval=1
Enable=1
link(onTimer,4734762:doEvent1,[])
}
Add(Hub,4734762,462,357)
{
link(onEvent1,1343225:doStart,[])
link(onEvent2,3087436:doSleepMks,[(504,370)(504,391)])
}
Add(TimeCounter,1343225,595,357)
{
Precision=1
link(onStop,9633999:doText,[])
}
Add(Button,9794326,329,406)
{
Left=76
Top=169
Width=90
Height=30
Font=[Arial,8,0,0,1]
Caption="Stop"
link(onClick,3645288:doStop,[(380,412)(380,370)])
}
Add(Label,11211020,21,147)
{
Left=265
Top=5
Width=149
Height=17
Caption="Сгенерировало 100 событий"
}
Add(Label,2291151,21,196)
{
Left=75
Top=105
Width=122
Height=17
Caption="Постоянный генератор"
}
Add(StyleXP,739424,21,245)
{
}




Довольно точно генерит

перезалил.
карма: 0

0
файлы: 1code_20220.txt [1.5KB] [383]
Ответов: 3349
Рейтинг: 233
#2: 2010-08-25 14:18:36 ЛС | профиль | цитата
Error, перезалей

карма: 1

0
Ответов: 1429
Рейтинг: 50
#3: 2010-08-25 14:31:01 ЛС | профиль | цитата
Скорость 44100, для звука - 44 раза в миллисекнду.

code_20221.txt

Только на "постоянной генерации" форма не успевает рисовать. А так очень даже приличная точность. Я был удивлен.
Столько мне не нужно, но для создания "музыкального секвенсера" нужно разрешение примерно в пол миллисекунды.
Может, если, это в InlineCode код записать, будет еще стабильнее. Не знаю.

У - западает, поправьте заголовок темы
карма: 0

0
файлы: 1code_20221.txt [1.5KB] [439]
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)