...

Листинг 7.11. Функции изменения точности таймера

Var lastPeriod: Cardinal;

//Установка периода таймера (мс) перед началом измерения

function timeSetTimerPeriod(period: Cardinal): Boolean;

begin

if timeBeginPeriod(period) = TIMERR_NOERROR then

begin

//Сохраним значение для восстановления состояния таймера

lastPeriod := period;

timeSetTimerPeriod := True;

end

else

//Неудача

timeSetTimerPeriod := False;

end;

//Восстановление периода таймера (обязательно)

function timeRestoreTimerPeriod(): Boolean;

begin

if timeEndPeriod(lastPeriod) = TIMERR_NOERROR then

timeRestoreTimerPeriod := True

else

timeRestoreTimerPeriod := False;

end;

Теперь, после долгого рассмотрения особенностей настройки мультимедиа-таймера, приведем пример его использования для измерения времени выполнения простейшего отрезка программы (листинг 7.12).

Загрузка...