![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сложный вопрос по таймеру [D5]
Igit © (2002-07-24 08:44:00)Может кто поможет разобраться как устроен таймер в делфи когда пишешь программу такую всю с красивостями(форма и всё такое не на API). Вот сам вопрос: Допустим есть у меня форма - Form1,
и два таймера - timer1 и timer2. в timer1 написано i:=i+1; его интервал 1000. в timer2 написано g:=g+1; его интервал 5000.
Вот как всё это работает, я думаю что создаются потоки с задержками, прав ли я, и как сделать подобное на API не используя модуля Forms?
Igit (2002-07-25 01:27:00) [1]Блин, я понял правду - мне ещё долго расти дo API
Эмиль (2002-07-24 16:11:00) [2]Как отсчитать интервал времени без TTimer ?
procedure Delay(ms : longint);
var
TheTime : LongInt;
begin
TheTime := GetTickCount + ms;
while GetTickCount < TheTime do
begin
.....
{полезный код если надо что-то делать}
.....
Application.ProcessMessages;
end;
end;
DAO (2002-07-24 10:39:00) [3]Можно попробывать потоки. Сделать Thread и туда вставить код а так же задержку если необходимо Sleep. Хотя надо посмотреть на задачу конкретнее, т.к. не рекомендуеться делать потоки по пустякам!
bytebutcher (2002-07-24 09:46:00) [4]самостоятельным надо быть батенька - самостоятельным
Юрий Зотов (2002-07-24 09:31:00) [5]Таймер Delphi никаких потоков не создает. Он создает скрытое окно, а затем вызывает API-шную SetTimer.
Без Forms Вы тоже можете использовать SetTimer (cм. в справке), но цикл выборки сообщений нужно будет сделать ручками.
Digitman (2002-07-24 08:50:00) [6]Исходник класса TTimer имеется ведь ! Самостоятельно разве не пытался ?