{
Имя файла: HRTimer.PAS V1.00
Создан: Апр 17 1997, 06:40, автор John Mertus
Обновлен #6: Окт 12 1997, 10:56 John Mertus
Оболочка для таймера высокой точности при создании приложений под
Win95/WinNT
Var
HRT : THRTimer
HRT := THRTimer.Create;
HRT.StartTimer; Сброс таймера в ноль
HRT.ReadTimer; Возвращает отсчитанное время в миллисекундах
начиная со времени старта
HRT.Free;
Список изменений
Версия 1.00 - Первый выпуск
}{-----------------Модуль HRTimer-------------------John Mertus Апрель 97---}unit HRTimer;
{-------------------Объявления-------------------------------}interfaceuses Windows;
type
THRTimer = class(TObject)
constructor Create;
function StartTimer: Boolean;
function ReadTimer: Double;
private
StartTime: Double;
ClockRate: Double;
public
Exists: Boolean;
end;
{--------------------------Реализация-----------------------------------}implementation{------------------Create-------------------------John Mertus----Мар 97-}constructor THRTimer.Create;
{ Получаем точное системное время и сохраняем его для дальнейшего }{ использования. }{ }{***********************************************************************}var
QW: TLargeInteger;
begininherited Create;
Exists := QueryPerformanceFrequency(QW);
ClockRate := QW.QuadPart;
end;
{------------------StartTimer---------------------John Mertus----Мар 97-}function THRTimer.StartTimer: Boolean;
{ Получаем точное системное время и сохраняем его для дальнейшего }{ использования. }{ }{***********************************************************************}var
QW: TLargeInteger;
begin
Result := QueryPerformanceCounter(QW);
StartTime := QW.QuadPart;
end;
{-------------------ReadTimer---------------------John Mertus----Мар 97---}function THRTimer.ReadTimer: Double;
{ Получаем точное системное время и сохраняем его для дальнейшего }{ использования. }{ }{***********************************************************************}var
ET: TLargeInteger;
begin
QueryPerformanceCounter(ET);
Result := 1000.0 * (ET.QuadPart - StartTime) / ClockRate;
end;
end.
Статья Высокоточный таймер раздела Компоненты и Классы TTimer может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.