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

Вниз

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

 
Igit ©   (2002-07-24 08:44) [0]

Может кто поможет разобраться как устроен таймер в делфи когда пишешь программу такую всю с красивостями(форма и всё такое не на API). Вот сам вопрос: Допустим есть у меня форма - Form1,
и два таймера - timer1 и timer2. в timer1 написано i:=i+1; его интервал 1000. в timer2 написано g:=g+1; его интервал 5000.
Вот как всё это работает, я думаю что создаются потоки с задержками, прав ли я, и как сделать подобное на API не используя модуля Forms?


 
Digitman ©   (2002-07-24 08:50) [1]

Исходник класса TTimer имеется ведь ! Самостоятельно разве не пытался ?


 
Юрий Зотов ©   (2002-07-24 09:31) [2]

Таймер Delphi никаких потоков не создает. Он создает скрытое окно, а затем вызывает API-шную SetTimer.

Без Forms Вы тоже можете использовать SetTimer (cм. в справке), но цикл выборки сообщений нужно будет сделать ручками.


 
bytebutcher ©   (2002-07-24 09:46) [3]

самостоятельным надо быть батенька - самостоятельным


 
DAO ©   (2002-07-24 10:39) [4]

Можно попробывать потоки. Сделать Thread и туда вставить код а так же задержку если необходимо Sleep. Хотя надо посмотреть на задачу конкретнее, т.к. не рекомендуеться делать потоки по пустякам!


 
Эмиль   (2002-07-24 16:11) [5]

Как отсчитать интервал времени без TTimer ?
procedure Delay(ms : longint);
var
TheTime : LongInt;
begin
TheTime := GetTickCount + ms;
while GetTickCount < TheTime do
begin
.....
{полезный код если надо что-то делать}
.....
Application.ProcessMessages;
end;
end;


 
Igit ©   (2002-07-25 01:27) [6]

Блин, я понял правду - мне ещё долго расти дo API



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-50776
DmitryMN
2002-09-05 13:38
2002.09.16
Ошибка вызова процедуры COM-сервера


1-50736
Strumpf
2002-09-05 16:48
2002.09.16
Как перевести оператор in из Delphi в С++?


1-50805
DiHLoS
2002-09-03 18:14
2002.09.16
Как узнать длину массива?


4-51030
Boroda Oleg
2002-07-26 11:07
2002.09.16
событие при потере (передаче) фокуса у компонента.


1-50825
Black Cat
2002-09-04 08:47
2002.09.16
D6+W98