Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2011, 20:32   #1
2010KOHTEP
 
Регистрация: 11.05.2011
Сообщений: 5
Сообщение Как сделать повтор события?

Всем добрый вечер. У меня сейчас возник довольно таки для себя интересный вопрос - как сделать повтор события через определенное время? Например я отправляю сообщение через SMTP, и мне нужно чтобы оно через 10 секунд отправилось повторно. В интернете не нашел путёвого ответа. Заранее спасибо.
2010KOHTEP вне форума Ответить с цитированием
Старый 04.10.2011, 20:39   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

TTimer, в интервале задаём 10000(10 сек) и в OnTimer вставляем либо:
Код:
TButton.Click; //Where TButton  это кнопка при нажатии на который шлётся письмо
либо вставляем сам код отправки письма...
Человек_Борща вне форума Ответить с цитированием
Старый 04.10.2011, 20:50   #3
2010KOHTEP
 
Регистрация: 11.05.2011
Сообщений: 5
По умолчанию

Человек_Борща
Когда я прописываю Tbutton. то появляется выбор функции, но самого Click нет. Было бы неплохо, если бы вы предоставили мне исходный код таймера.
2010KOHTEP вне форума Ответить с цитированием
Старый 04.10.2011, 21:36   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

А головой подумать, не? Когда подрастёте тоже будете просить других, думать за вас?

Я не знаю что у вас там, поэтому написал TButton т.к. это класс кнопки. Кнопка имеет метод Click, следовательно имея на форме кнопку с именем Button1, вы должны написать Button1.Click.

TTimer(компонент) лежит на вкладке System палитры компонентов.

Последний раз редактировалось mihali4; 18.10.2011 в 19:10.
Человек_Борща вне форума Ответить с цитированием
Старый 04.10.2011, 21:44   #5
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Вставляем на форму Timer с вкладки System.
В Object Inspector для таймера Interval пишем 10000 (10 тысяч миллисекунд=10 сек).
Кликаем дважды на OnTimer и в процедуре пишем выполняемое действие
Чтобы таймер работал должно у таймера Enabled быть в true.
hon вне форума Ответить с цитированием
Старый 04.10.2011, 22:21   #6
Стелс
Я с вами :-)
Форумчанин
 
Аватар для Стелс
 
Регистрация: 19.10.2008
Сообщений: 110
По умолчанию

ну или еще вариант
Код:
while true do begin
 Button1.Click;
 Sleep(10000*60);
 end;
٩(๏̯͡๏)۶٩(๏̯͡๏)۶٩(๏̯͡๏)۶ моя любимая книга - Окна for чайников . Кодить начал ещё вчера . ......кто там кодит ? Да не кто не кодит это я куякнулся
Стелс вне форума Ответить с цитированием
Старый 18.10.2011, 18:03   #7
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Цитата:
Сообщение от Стелс Посмотреть сообщение
ну или еще вариант
Код:
while true do begin
 Button1.Click;
 Sleep(10000*60);
 end;
Только не Sleep! Sleep - количество ... таймера. Чем мощнее компьютер, тем быстрее будет работать такая программа.
hon вне форума Ответить с цитированием
Старый 18.10.2011, 19:40   #8
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от hon Посмотреть сообщение
Только не Sleep! Sleep - количество ... таймера. Чем мощнее компьютер, тем быстрее будет работать такая программа.
Sleep как раз задержка в миллисекундах и от мощности компьютера не зависит.
FaTaL вне форума Ответить с цитированием
Старый 18.10.2011, 20:14   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Sleep pauses program executions as specified by the milliseconds parameter.
То есть, в отличие от таймера, который работает самостоятельно, Sleep напрочь останавливает выполнение программы...
mihali4 вне форума Ответить с цитированием
Старый 19.10.2011, 22:34   #10
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Цитата:
То есть, в отличие от таймера, который работает самостоятельно, Sleep напрочь останавливает выполнение программы...
Если использовать крит секцию в sleep то программа дальше будет жить, а ход програмы продолжится когда sleep её отпустит
bulldog5293 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно сделать так, чтобы дочерняя форма была поверх всех окон после наступления определённого события? Вадим Мошев Общие вопросы Delphi 4 10.06.2011 13:01
Как определить повтор? us4us SQL, базы данных 0 16.05.2011 14:15
Как избежать повтор строк в тексте Federal Помощь студентам 3 19.10.2010 14:38
помогите сделать автоматическую обработку события... maxvip Microsoft Office Excel 6 03.11.2009 12:19
Как прописатьв макросе повтор... Bu$ter Microsoft Office Excel 6 18.09.2008 09:40