Нагрузка процессора 100%

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
ADEX
незнакомец
Сообщения: 3
Зарегистрирован: 21.07.2005 20:03:45

Нагрузка процессора 100%

Сообщение ADEX »

Мне нужно приостанавливать выполнение программы каждые 10 секунд. Написал такой таймер:

Код: Выделить всё

oldTime:=Time;
repeat
   begin
   newTime:=Time;
   x:=newTime-oldTime;
   if x<0 then x:=10;
   end;
until x>=10;


Time - это функция, возвращающая системное время.

После компиляции в Freepascal программа нагружает процессор на 100%, а если компилировать в Borland Pascal 5.5, то около 20%. Borland Pascal не годится из-за другой причины (win32).
Посоветуйте, пожалуйсто, как оргнизовать таймер.

Спасибо!
Последний раз редактировалось ADEX 20.04.2009 04:23:59, всего редактировалось 1 раз.
ushakov
новенький
Сообщения: 51
Зарегистрирован: 18.05.2005 11:15:48
Откуда: Украина, Киев

Сообщение ushakov »

Есть такая функция, Sleep(<кол-во миллисекунд>)
Dmitry
новенький
Сообщения: 52
Зарегистрирован: 05.07.2005 08:53:06

Сообщение Dmitry »

1. Используй процедуру Delay() из модуля Crt.
2. Используй процедуру Sleep() из модуля SysUtils.
Sniper
постоялец
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper »

или GetTickCount() из windows
ev
долгожитель
Сообщения: 1797
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение ev »

2 ADEX
твой пример не является таймером
он не переводит компьютер в ожидание, а постоянно производит вычисления (получает время и сравнивает)
Ответить