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

Вниз

Консоль и таймер   Найти похожие ветки 

 
loooo1   (2006-11-23 09:52) [0]

Возможно ли в консольном приложении на дельфи организовать таймер?


 
RWolf ©   (2006-11-23 09:57) [1]

можно. API-шный таймер может вызывать callback при срабатывании.


 
Anatoly Podgoretsky ©   (2006-11-23 10:03) [2]

> loooo1  (23.11.2006 09:52:00)  [0]

Возможно


 
loooo1   (2006-11-23 10:22) [3]

Ну сочинил я полную ерунду одним словом:
program Project1;

{$APPTYPE CONSOLE}

uses
 SysUtils, Windows, Messages;

var
 msg: TMsg;
begin
   SetTimer(0, 1, 2000, 0);
   while(GetMessage(msg, 0, 0, 0)) do
     if msg.Message = WM_TIMER then begin
       MessageBoxA(0, "", "", 0);
       Break;
     end;
   KillTimer(0, 1);
end.

Видимо такой подход далеко не корректен? И как осуществить в такой ситуации коллбэк?


 
Сергей М. ©   (2006-11-23 10:47) [4]


> как осуществить в такой ситуации коллбэк?


А никак.
Чтобы осуществить колбэк, нужно указать адрес колбэк-процедуры 4-ым параметром ф-ции SetTimer() и организовать цикл иного вида:

 while(GetMessage(msg, 0, 0, 0)) do
   DispatchMessage(Msg);


 
RWolf ©   (2006-11-23 10:49) [5]

чтобы принимать сообщения, необходимо сначала создать окно. Без него - только callback. Как - написано в справке по SetTimer.


 
Сергей М. ©   (2006-11-23 10:49) [6]

А чем, кстати, TTimer не угодил ?



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

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

Наверх




Память: 0.48 MB
Время: 0.069 c
2-1164536274
Ded222
2006-11-26 13:17
2006.12.10
Программа занимает 20 мб памяти в Диспетчере задач.


3-1160123972
Tornado
2006-10-06 12:39
2006.12.10
Подключение к dbf-файлам


15-1163945818
Логин
2006-11-19 17:16
2006.12.10
ПО для управления компьютерным салоном.


15-1163876968
Ne-Ld
2006-11-18 22:09
2006.12.10
Посоветуйте хорошую книгу про энтропию и информацию.


15-1164103554
Nic (from first work)
2006-11-21 13:05
2006.12.10
Не могу найти песню