Форум — Ответы     (  К темам )
 ?  WiSucht: TimeProc (09-01-2003 11:02:42)
У компонента Timer минимальный промежуток срабатывания 55мс, а мне нужно более частое срабатывание. Для этого нужно использовать мультимедия таймер(API-функции TimeProc,timeSetEvent и timeKillEvent) в справке я прочитал как его использовать, но всё равно при компиляции программы компилятор выводит сообщение об ошибке (может я что то не так понял). Покажите пожалуйста на простом примере как им пользоватся: допустим есть переменная int i=0; и нужно через каждые 10мс нарашивать её на единицу и выводить её в заголовке формы!
ЗАРАНЕЕ СПАСИБО!!!
 Andrew (11-01-2003 16:46:50)
функцией QueryPerformanceFrequency получаешь частоту счетчика высокого разрешения, если он есть ;) (у меня на PIII примерно 3.5 Мгц)
а потом QueryPerformanceCounter получаешь значение счетчика, вычитаешь предыдущий замер и переводишь разницу в сек T=1/f
Везде ли работает не знаю.
P.S.: лучше все это делать в потоке с повышенным приоритетом.
P.P.S.: Описание фунций есть в справке по Builder, там работа через указатели.
 Andrew (13-01-2003 13:19:02)
Еще проще можно сделать через GetTickCount().
Один тик соответствует 1мс.
Делаешь цикл в потоке и смотришь тики. Как только "текущий тик" — "стартовый тик"= 10, то прошло 10мс.