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

Вниз

Вопрос связан с перехватом времени   Найти похожие ветки 

 
-=Germe$=- ©   (2006-07-14 16:22) [0]

Как перехватить изменение времени без использования TTimer


 
Сергей М. ©   (2006-07-14 16:29) [1]

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


 
Vlad ©   (2006-07-14 16:56) [2]


> -=Germe$=- ©   (14.07.06 16:22)  
> Как перехватить изменение времени без использования TTimer


цикл в отдельном TThread - е ?


 
Сергей М. ©   (2006-07-14 16:57) [3]

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


 
Jeer ©   (2006-07-14 17:11) [4]


> Как перехватить изменение времени без использования TTimer


Таблэтки прописанные дохтуром.


 
Desdechado ©   (2006-07-14 17:18) [5]

> без использования TTimer
Это такая религия?


 
begin...end ©   (2006-07-14 17:22) [6]

Что значит "перехватить изменение времени"?


 
StriderMan ©   (2006-07-14 17:22) [7]

Thread, в нем цикл сравнения времени начала цикла(DateTime) с Now


 
Desdechado ©   (2006-07-14 17:25) [8]

> цикл сравнения времени
Не боишься загрузить компьтер на полную только обработкой этого цикла?


 
StriderMan ©   (2006-07-14 17:26) [9]


> Не боишься загрузить компьтер на полную только обработкой
> этого цикла?

sleep туда пихнуть


 
StriderMan ©   (2006-07-14 17:32) [10]

че-то туплю...
достаточно TThread со sleep"ом


 
Zeqfreed ©   (2006-07-14 18:12) [11]

procedure TimeChangeHook();
begin
 ShowMessage("Произошло очередное изменение времени!");
end;

while true do TimeChangeHook();


 
-=Germe$=- ©   (2006-07-14 19:22) [12]

Факт изменения системного времени на 1 секунду было 00:00:00 стало 00:00:01


 
Zeqfreed ©   (2006-07-14 19:25) [13]

> [12] -=Germe$=- ©   (14.07.06 19:22)

Какая стоит задача? Для чего это нужно? И почему не удовлетворяет TTimer?


 
-=Germe$=- ©   (2006-07-14 19:26) [14]


> Какая стоит задача? Для чего это нужно? И почему не удовлетворяет
> TTimer?

Проц грузит...


 
Zeqfreed ©   (2006-07-14 19:30) [15]

> [14] -=Germe$=- ©   (14.07.06 19:26)

TTimer сам по себе ничего не грузит. Если что-то и может загружать процессор, то это тело события OnTimer, целиком подвластное к изменению программистом.


 
-=Germe$=- ©   (2006-07-14 19:33) [16]

ПОстоянно сверять время в TTimer не самый лучший вариант.... Можно пропустить нужное событие....


 
Zeqfreed ©   (2006-07-14 19:37) [17]

-=Germe$=- ©   (14.07.06 19:33) [16]

Поэтому я и спрашиваю в чем состоит цель «перехвата», чтобы подсказать наиболее подходящее решение.


 
-=Germe$=- ©   (2006-07-14 19:44) [18]

В определенное время должно произоити событие(сам его напишу)... Нужно это время с точностью до секунды схватить


 
Zeqfreed ©   (2006-07-14 19:47) [19]

> [18] -=Germe$=- ©   (14.07.06 19:44)

Точности обычного таймера для этого вполне хватит. Абсолютной точности в Windows не добиться.


 
-=Germe$=- ©   (2006-07-14 19:50) [20]

А если машинка слабая?


 
Zeqfreed ©   (2006-07-14 19:52) [21]

> [20] -=Germe$=- ©   (14.07.06 19:50)

Все остается в силе. Если уж процессору будет некогда выполнять событие, то его не выполнить никаким способом.


 
begin...end ©   (2006-07-14 20:29) [22]

> -=Germe$=- ©   (14.07.06 19:33) [16]

Зачем постоянно сверять? Установите соответствующий интервал таймера, чтобы он сработал один раз, когда нужное событие наступит, и всё. Если по каким-то причинам не устраивает TTimer (который является обёрткой SetTimer), можно использовать CreateWaitableTimer/SetWaitableTimer.


 
Dib@zol   (2006-07-18 13:45) [23]

Да ёшкин лес, используй GetTickCount!!!! Помоему он в юните MMSystem...


 
Palladin ©   (2006-07-18 13:49) [24]


> Dib@zol

Да ёшкин лес, разница между сравнением двух GetTickCount и двух переменных TDateTime практически никакая. И он в юните Windows.


> -=Germe$=- ©

Сомневаюсь что TTimer с установленным интервалом в 1000 мс будет жутко грузить процессор.


 
Ketmar ©   (2006-07-18 20:54) [25]

>Palladin ©   (18.07.06 13:49) [24]
не будет грузить. но может "заикаться". т.е. вызовы могут теряться, если система сильно загружена. впрочем, "это уже совсем другая история" (ц), и решается по-другому. %-)



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

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

Наверх




Память: 0.52 MB
Время: 0.039 c
15-1152723465
Petr V. Abramov
2006-07-12 20:57
2006.08.06
беспредел


3-1148752070
Гарик
2006-05-27 21:47
2006.08.06
Динамическое создание БД


15-1152352376
DeStranger
2006-07-08 13:52
2006.08.06
Условия работы


3-1148975873
Kley
2006-05-30 11:57
2006.08.06
выгрузка записей из одной табл в другую


15-1152657553
Alx_
2006-07-12 02:39
2006.08.06
The security log on this system is full