![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Всем добрый день!
Есть код (приведенный ниже), требуется установить таймер, чтобы сообщения выводились ч/з 3 секунды! ... как реализовать, нет опыта работы с Timer Кто знает, помогите, плиз! Код:
procedure TForm1.Image3Click(Sender: TObject);
begin
// проверка 1-й службы
if ServiceGetStatus('','A1')=SERVICE_RUNNING then
Label2.Caption:=(' запущена ')
else Label6.Caption:=(' не запущена ');
// проверка 2-й службы
if ServiceGetStatus('','A2')=SERVICE_RUNNING then
Label8.Caption:=(' запущена ')
else Label10.Caption:=(' не запущена '); |
|
#2
|
||||
|
||||
|
Точно так же как и кнопку, только в свойствах проставь интервал.
|
|
#3
|
||||
|
||||
|
Цитата:
Требуется, чтобы м/у службами А1 и А2 прошло 3-5 секунд (компилю в Delphi 2010) Последний раз редактировалось osminog, 23.07.2012 в 21:25. |
|
#4
|
|||
|
|||
|
Цитата:
![]() |
|
#5
|
||||
|
||||
|
Цитата:
прошло 3-5 сек получил ответ, что служба А2 запущена (или нет) |
|
#6
|
||||
|
||||
|
Понял, тебе нужен отложенный вызов процедуры. Я бы сделал на потоке, внутрях которого Sleep(3000) и вызов твоего обработчика.
|
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
osminog (23.07.2012)
| ||
|
#7
|
|||
|
|||
|
Цитата:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=Timer1.Tag+1;
if Odd(Timer1.Tag) then
begin
// проверка 1-й службы
if ServiceGetStatus('','A1')=SERVICE_RUNNING then
Label2.Caption:=(' запущена ')
else Label6.Caption:=(' не запущена ');
end else
begin
// проверка 2-й службы
if ServiceGetStatus('','A2')=SERVICE_RUNNING then
Label8.Caption:=(' запущена ')
else Label10.Caption:=(' не запущена ');
end;
end;Цитата:
|
| Этот пользователь сказал Спасибо MiraLaklamon за это полезное сообщение: | ||
osminog (23.07.2012)
| ||
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
||||
|
||||
|
Цитата:
странно, но ругается на эту строчку Код:
procedure TForm1.Timer1Timer(Sender: TObject); |
|
#10
|
|||
|
|||
|
Цитата:
Надеюсь таймер на форму положил? И дважды по нему щёлкнул? И вставил в обработчик события код который я привела? Последний раз редактировалось MiraLaklamon, 23.07.2012 в 22:25. |
|
#11
|
||||
|
||||
|
Цитата:
пишет Errors: 'TForm1' does not contain a member named 'Timer1Timer' at line 153 (расшифровать бы ) 2-а раза по таймеру не щелкал, объявил в вкладке events: OnTimer = Image3Click Последний раз редактировалось osminog, 23.07.2012 в 22:28. |
|
#12
|
|||
|
|||
|
Цитата:
|
|
#13
|
||||
|
||||
|
Цитата:
нашел ошибку: убрал в type строчку procedure Image3Click(Sender: TObject); добавил туда procedure Timer1Timer(Sender: TObject); а в свойство картинки в вкладке events OnClick=Timet1Timer но реакция по времени нулевая, как-будто нет таймера ((( |
|
#14
|
|||
|
|||
|
Цитата:
Ещё раз: 1) Нужно положить таймер на форму. 2) Изменить его свойство Interval на 3000 (т.е. 3 секунды) 3) Дважды щёлкнуть по таймеру - появится заготовка события - вот такая: Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin end; 5) Запустить программу на выполнение и наблюдать как всё нормально работает. |
|
#15
|
||||
|
||||
|
[quote=MiraLaklamon]Ндя... А причём тут картинка Image3 и его событие OnClick ? Речь вроде идёт о таймере?
огромное спасибо, так как Вы описали = работает! тока есть момент, чтобы это стартовало по нажатию кнопки ... и если не трудно, расшифруйте код: Код:
procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Tag:=Timer1.Tag+1; if Odd(Timer1.Tag) then begin ... end; |