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

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

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


Windows ©   (2006-06-20 20:00:00) 

Подскажите, как создать управляемый таймер в консольном приложении, чтобы он работал одновременно с самой программой...
Сдается мне, что это невозможно, но я могу ошибаться...


Шпиён   (2006-06-30 18:50:00) [1]


var TimerId:Cardinal;
..................................
TimerId:=SetTimer(0,1,1000,@TimerProc);- включаешь

KillTimer(0, TimerId); - выключаешь

Подробности - в справке.

Еще можно посмотреть в сторону timeSetEvent, CreateWaitableTimer, reateTimerQueueTimer

ps

> Windows ©   (30.06.06 18:29) [7]
> Kakim obrazom ego v Console ispolzovat'?

Можно извратиться. Но, думаю что нецелесообразно.


Windows   (2006-06-30 18:29:00) [2]

Kakim obrazom ego v Console ispolzovat'?
nekatit takoy variant!!!!
eshe est' predlojeniya?


TUser   (2006-06-30 17:29:00) [3]

Или использовать стандартный TTimer


Windows   (2006-06-30 13:03:00) [4]

Spasibo bolshoe!
A kak sdelat' ego uprovlyaushim...
t.e. mojno bilo vkluchit' i vikluchit pri neobhodimosti!
a to u menya putem vvoda peremennoy tipa BOOLEAN, on visnit...
mojno toje kusok koda.

p.s: Izvinite za translit, kakoy-to gluk s kompom, russkiy 9zik propal!(((


Медвед   (2006-06-28 21:48:00) [5]

>Сергей М. в основном можно, только проблемы с "одновременностью"

program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils, Windows;

procedure TimerProc(hwnd,uMsg,idEvent,dwTime:integer);stdcall;
begin
 writeln('preved krosavcheg !');
end;

var
 msg:TMsg;
begin
 { TODO -oUser -cConsole Main : Insert code here }
 SetTimer(0,1,1000,@TimerProc);
 while GetMessage(msg,0,0,0) do DispatchMessage(msg);
end.


Windows   (2006-06-28 17:27:00) [6]

А можно кода кусок, я ничего не понимаю...


Сергей М.   (2006-06-21 08:47:00) [7]


> необходимо создать доп. поток


Не обязательно, можно и в основном


Eraser   (2006-06-20 22:19:00) [8]

> [0] Windows ©   (20.06.06 20:00)

необходимо создать доп. поток и в нем цикл обработки сообщений, обрабатывать WM_TIMER. Устанавливается таймер с пом. SetTimer.


Наверх

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