time:= counter div hwTimerGetFreq();
Пример, а точнее, результат определения характеристик аппаратного таймера приведен на рис. 7.4.
Рис. 7.4. Характеристики аппаратного таймера
Заполнение приведенных на рис. 7.4 текстовых полей осуществляется чрезвычайно просто, поэтому код, описывающий это, в тексте не приводится. При желании вы сможете найти его на диске, прилагаемом к книге, в папке с названием раздела.
Мультимедиа-таймер
Рассмотрим еще один способ измерения, основанный на использовании так называемого мультимедиа-таймера. Его использование удобно тем, что появляется возможность задания его точности. Группа API-функций работы с мультимедиа-таймером позволяет не только измерять временные интервалы, но и создавать программные таймеры (см. компонент Timer), срабатывающие через гораздо меньшие промежутки времени.
Для получения текущего значения счетчика мультимедийного таймера можно воспользоваться функцией timeGetTime. Вообще, она возвращает значения, аналогичные значениям, возвращаемым функцией GetTickCount. Счетчик также 32-битный, обнуляемый приблизительно каждые 49,7 суток. Прототип функции timeGetTime следующий: