Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите перевести конструкцию с C++


P2P ©   (2006-09-08 12:26:00) 

Вот такая конструкция нужна на дельфи

LARGE_INTEGER nDueTime;
nDueTime.QuadPart = Int32x32To64(-10000,1000);
SetWaitableTimer(m_htCheckingTimer,&nDueTime,0,NULL,NULL,FALSE);


P2P   (2006-09-08 13:39:00) [1]

Не компилится пример. Пишет -10000; выходит за границы диапазона


Desdechado   (2006-09-08 13:35:00) [2]

Справка рулит.

Use the format described by the FILETIME structure.

The FILETIME structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601.

typedef struct _FILETIME { // ft  
   DWORD dwLowDateTime;
   DWORD dwHighDateTime;
} FILETIME;


Members

dwLowDateTime

Specifies the low-order 32 bits of the file time.

dwHighDateTime

Specifies the high-order 32 bits of the file time.



Remarks

It is not recommended that you add and subtract values from the FILETIME structure to obtain relative times. Instead, you should

· Copy the resulting FILETIME structure to a LARGE_INTEGER structure.
· Use normal 64-bit arithmetic on the LARGE_INTEGER value.


Dmitrij_K   (2006-09-08 13:27:00) [3]

Модет так
var nDueTime : Int64;
...
Int64Rec(nDueTime).Lo := -10000;
Int64Rec(nDueTime).Hi := 1000;
SetWaitableTimer(m_htCheckingTimer,@nDueTime,0,nil,nil,FALSE);


P2P   (2006-09-08 13:00:00) [4]

Да это код на С++. Вот мне бы тоже хотелось узнать как вызывать SetWaitableTimer из Дельфи. А то что то не получается....


Desdechado   (2006-09-08 12:47:00) [5]

LARGE_INTEGER - что за зверь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо