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

Вниз

Timer в Builder.   Найти похожие ветки 

 
VolanD666   (2004-11-13 13:01) [0]

Здрасти, мастера! В DelphiX есть хороший Timer, который основан на событии формы OnIdle. Хотел такой же написать для Builder"а вот только кося где то:


Word MiliSeconds;

DecodeTime(Time()-OTime, NULL, NULL, NULL, MiliSeconds);

if (Start and MiliSeconds>=1/30){
 OTime=Time();
/* Текст отрисовки */
 Done=false;
}

OTime- глобальная.


 
Megabyte-CeerCop ©   (2004-11-15 07:21) [1]

Делай так. Это быстрый и единственно правильный для игры способ.

LARGE_INTEGER currentticks;
LARGE_INTEGER Ocurrentticks;

QueryPerformanceCounter (&currentticks);   // получаем текущее время

if ((currentticks - Ocurrentticks) > 20) // 50 Hz  (1000/20)
{
Ocurrentticks = currentticks;
/* Текст отрисовки */
}

//Пригодится

QueryPerformanceFrequency(&tickspersecond);   // получаем частоту таймера для данной машины.



 
Megabyte-CeerCop ©   (2004-11-15 07:23) [2]


> (¤tticks

Это похоже распознано как тэг читать так:

&_currentticks    ( только без знака подчёркивания.)


 
VolanD666   (2004-11-19 11:37) [3]

Спасибо, попробую.


 
VolanD666   (2004-11-19 15:29) [4]

Сорри, но Builder ругается на:

> if ((currentticks - Ocurrentticks) > 20) // 50 Hz  (1000/20)

(Говорит, что оператор "-" не определен для типа LARGE_INTEGER)


 
VolanD666   (2004-11-21 15:34) [5]

:)


 
Megabyte-ceercop ©   (2004-11-22 07:56) [6]

И от меня тоже сорри.

забыл, что при операциях с Ларге_интегером нужно писать так:

currentticks.QuadPart - Ocurrentticks.QuadPart   //QuadPart выделяет младшую часть и приводит к интегеру.
Помести это.


 
bobomen_   (2004-11-22 08:16) [7]

Удалено модератором


 
bobomen_   (2004-11-22 14:19) [8]

Удалено модератором
Примечание: Последнее предупреждение.


 
VolanD666   (2004-11-25 17:46) [9]

Thank you.



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

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

Наверх




Память: 0.48 MB
Время: 0.122 c
14-1107500752
Zhekson
2005-02-04 10:05
2005.02.27
время ожидания Scandisk_а в XP


14-1107701261
DeadMeat
2005-02-06 17:47
2005.02.27
А че это было та?


3-1106988373
HATAB
2005-01-29 11:46
2005.02.27
Связь БД


1-1108211901
Koshak
2005-02-12 15:38
2005.02.27
Timer


1-1108287373
Porecla
2005-02-13 12:36
2005.02.27
Открыть папку ! помогите.