Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.30;
Скачать: CL | DM;

Вниз

Как нориальный таймер   Найти похожие ветки 

 
MSergey ©   (2002-05-16 19:53) [0]

В игре нужно синхронезировать движения со временем, обычный таймер не подходит. Обновление в 65 раз в секунду слишком долгое


 
MBo ©   (2002-05-16 20:02) [1]

uses
...mmsystem;

var
Form1: TForm1;
i:integer;
uTimerID:dword;
d:dword;

procedure ActionCallBack(TimerID,uMessage:UINT;dwUser,dw1,dw2:DWORD);stdcall;
begin
inc(i,dwUser);// демонстрация использования параметра
form1.label1.caption:=inttostr(i);
application.processmessages;//для обновления label
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
d:=gettickcount;//отсчет времени в миллисекундах
uTimerID:=timeSetEvent(1,1,@ActionCallBack,2,TIME_PERIODIC);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
timeKillEvent(uTimerID);
label2.caption:="Elapsed "+inttostr(gettickcount-d)+" ms";
end;


 
}{enon ©   (2002-05-16 20:05) [2]

Попробуй использовате системные часы.


 
igor_2k ©   (2002-05-16 22:50) [3]

у меня проходила такая фишка с задержкой - вычисляешь отношение цикла к примеру
for i:=1 to 5000 do
inc(a);
к системному таймеру - я думаю тут ничего непонятного нету и потом задержку выставляешь не в секундах а в операциях - ведь они также онимаю время - если нехватает лонгинта для i вкладывай циклы хоть добесконечности вот и все


 
cult ©   (2002-05-18 13:22) [4]

2 МВо:

я тут передрал Ваш пример (у нас уже был про него разговор), и вот какой глюк лезет.

Передрал я его слово в слово. Так вот, когда таймер тикает, в левом верхнем углу экрана пытается отображаться копия Label1! Объяснений у меня для этого нет. Понятно, что когда я уберу эту демо-строчку с Label, это пропадет. Но глюк-то берется откуда-то...

Есть ли какие нибудь мысли?
Спасибо.


 
MBo ©   (2002-05-18 21:23) [5]

глюка у меня нет и мыслей тоже


 
MSergey ©   (2002-05-20 15:37) [6]

Cult: у меня тоже самое!
MBo: Можно ли в место адреса callback процедуры написать nil, т.е
не вызывать её вообще?
Когда я так делаю сразу после запуска появляется ошибка и комп виснет. У меня Д6.



Страницы: 1 вся ветка

Текущий архив: 2002.05.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
3-97206
a_k
2002-05-08 14:44
2002.05.30
Накрылась база *.gdb ?????


1-97314
Ed_G
2002-05-19 17:14
2002.05.30
Начал разбираться с СОМ - ничего не понятно, помогите!!!


3-97200
jenbbond
2002-05-08 10:48
2002.05.30
Подскажите пожайлуста с DBGrid


3-97168
Jaric
2002-05-07 16:27
2002.05.30
Как сохранить результат запроса в физическую таблицу на диске?


1-97301
Виктор
2002-05-18 13:58
2002.05.30
При задании BevelKind в TMemo не перерисовываются ScrollBars