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

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

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

Восстановить пароль

Купить рекламу на форуме - 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,434
По умолчанию

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,434
По умолчанию

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

Я не знаю что у вас там, поэтому написал 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,762
По умолчанию

Цитата:
Сообщение от 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