Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как отчитывать промежутки времени с точностью

Автор: Nomadic

Для начала описываешь процедуру, которая будет вызываться по сообщению от таймера :


procedure FNTimeCallBack(uTimerID, uMessage: UINT;
dwUser, dw1, dw2: DWORD); stdcall;
begin
  // Тело процедуры.
end;

а дальше в программе (например по нажатию кнопки) создаешь Таймер и вешаешь на него созданную процедуру


uTimerID:=timeSetEvent(10,500,@FNTimeCallBack,100,TIME_PERIODIC); 

Подробности смотри в Help. Hу и в конце убиваешь таймер


timeKillEvent(uTimerID); 

И все. Точность этого способа до 1 мсек. минимальный интервал времени можно задавать 1 мсек.

Обратите внимание на то, что все CALLBACK-функции, вызываемые Windows, должны использовать соглашение о вызовах stdcall.

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay