Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Таймер в консольном приложении

11K
22 февраля 2006 года
OlegIM
14 / / 06.09.2005
Подскажите как создать таймер в консольной программе
8.4K
22 февраля 2006 года
Dian
91 / / 18.02.2006
Цитата:
Originally posted by OlegIM
Подскажите как создать таймер в консольной программе


 
Код:
var
  t: TTimer
...
begin
  t := TTimer.Create(nil)
11K
22 февраля 2006 года
OlegIM
14 / / 06.09.2005
Я наверное не точно задал вопрос. Таймер я создал правильно и включил его но ОнТаймер включится только тогда когда придет сообщение WM_TIMER. Как отловить это сообщение и передать управление таймеру?
8.4K
23 февраля 2006 года
Dian
91 / / 18.02.2006
Цитата:
Как отловить это сообщение и передать управление таймеру?


Таймер создаст своё окно сам, остается только поставить где-то цикл обработки сообщений:

 
Код:
var
  msg: TMsg;
begin
  ...
  while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);
534
24 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by Dian
Таймер создаст своё окно сам, остается только поставить где-то цикл обработки сообщений:
 
Код:
var
  msg: TMsg;
begin
  ...
  while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);


А нафига? Консоль работает по несколько иному принципу и не надо Get/Dispatch пихать куда попало, если не хочешь геморроя лишнего. Есть и более "легальные" методы

 
Код:
CreateTimerQueueTimer(hNewTimer@, nill, lpCallbackProc, nill, 0, TimeOut, 0);

Ну, и удалить таймер надо будет с помощью DeleteTimerQueueTimer(nill, hTNewTimer, nill).
11K
24 февраля 2006 года
OlegIM
14 / / 06.09.2005
Цитата:
Есть и более "легальные" методы
 
Код:
CreateTimerQueueTimer(hNewTimer@, nill, lpCallbackProc, nill, 0, TimeOut, 0);

Ну, и удалить таймер надо будет с помощью DeleteTimerQueueTimer(nill, hTNewTimer, nill).



А где об этом почитать можно? В хелпе и вообще нигде не нашел.

8.4K
24 февраля 2006 года
Dian
91 / / 18.02.2006
Респект. Не знал об этой штуке
534
24 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by OlegIM
А где об этом почитать можно? В хелпе и вообще нигде не нашел.


Вот небольшой док из MSDN

11K
24 февраля 2006 года
OlegIM
14 / / 06.09.2005
В какой библиотеке сидит эта штука?
534
24 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by OlegIM
В какой библиотеке сидит эта штука?

WinBase - подключается по умолчанию... Сама функция в kernel32.dll

11K
24 февраля 2006 года
OlegIM
14 / / 06.09.2005
Цитата:
Originally posted by HarryAxe
WinBase - подключается по умолчанию... Сама функция в kernel32.dll


Моя делфя не находит этой библиотеки.

534
24 февраля 2006 года
HarryAxe
448 / / 19.01.2006
Цитата:
Originally posted by OlegIM
Моя делфя не находит этой библиотеки.

У меня всё находит отлично... Ладно, скопирую декларации и щас выложу (обнови свой софт! :))

5
26 февраля 2006 года
hardcase
4.5K / / 09.08.2005
WinBase - это сишная билиотека.
аналог в делфи - Windows

Хотя действительно, у меня в D7 такой функции компилер там не находит ;-)

Респект
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог