Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
1-1108140257
Zilog
2005-02-11 19:44
2005.02.27
Можно корректно ли удалить TabSheet, с содержимым?


1-1108030234
Zhenja
2005-02-10 13:10
2005.02.27
QReport. Печать. Помогите пожалуйста.


1-1108475251
BFG9k
2005-02-15 16:47
2005.02.27
Как найти место ошибки по адресу?


3-1106826258
Layner
2005-01-27 14:44
2005.02.27
Как установить "SET DATEFORMAT dmy" на сервере MSSQL из программы


1-1108236277
TBeginner
2005-02-12 22:24
2005.02.27
Cохранить в файл содержимое TListView




   Наверх