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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2011, 11:49   #1
kazzz
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 38
По умолчанию Как заставить сделать интервал между кликами??

Не умею я с таймером обращаться... Подскажите последовательность действий... Допустим надо чтобы между нажатиями проходила одна минута...

Код:
procedure TForm1.FormClick(Sender: TObject);
var
pt: TPoint;
begin
{Нажать кнопку 1}
GetCursorPos(pt);
pt.X:=160;
pt.Y:=990;
SetCursorPos(pt.X, pt.Y);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);

{Нажать кнопку 2}
GetCursorPos(pt);
pt.X:=45;
pt.Y:=990;
SetCursorPos(pt.X, pt.Y);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTDOWN, pt.X, pt.Y, 0, 0);
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_LEFTUP, pt.X, pt.Y, 0, 0);
end;
end.
kazzz вне форума Ответить с цитированием
Старый 22.04.2011, 12:01   #2
katysha
 
Регистрация: 22.04.2011
Сообщений: 5
По умолчанию

таймер1 интервал = 60000
таймер2 интервал = 0

====

procedure TForm1.Timer1Timer(Sender: TObject);
begin
какое-то действие;
Timer1.interval:=0; //отключили таймер 1
Timer2.interval:=60000 //включили таймер2 который отсчитывает минуту
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
какое-то действие;
end;
katysha вне форума Ответить с цитированием
Старый 22.04.2011, 12:34   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Timer1.interval:=0; //отключили таймер 1

ужос, а свойство Enabled для кого?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 22.04.2011, 12:44   #4
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию итого

вешаешь таймер на форму
свойство Enabled выставляешь в false
в процедуре клика по форме, где ты писал оба нажатия пишешь первое нажатие после
Timer1.Interval:=60000;
Timer1.Enabled:=True;
в методе OnTimer своего таймера напишешь процедуру нажатия на вторую кнопку где первой строчкой будешь отключать таймер1 Timer1.Enabled:=false.

может быть глупости написал - поправьте меня кто нибудь...


upd - если кликов будет много то можно прцедурку для клика написать, ты в неё будешь передавать координаты куда нажать и паузу какую тебе надо.
пауза будет как sleep(t); где t - время в милисекундах.
Тока учти что пока у тебя sleep отрабатывает всё стоит, т.е. ничего параллельно естественно работать не будет...

Последний раз редактировалось BoozZzilla; 22.04.2011 в 13:02.
BoozZzilla вне форума Ответить с цитированием
Старый 22.04.2011, 13:26   #5
kazzz
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 38
По умолчанию Благодарю

Буду разбираться...
kazzz вне форума Ответить с цитированием
Старый 22.04.2011, 16:46   #6
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

А нельзя между нажатиями просто поставить
Sleep (60000);
FaTaL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интервал между датами andrenisimus БД в Delphi 8 28.10.2010 14:05
Как задать интервал между датами в фильтре Леон Microsoft Office Access 2 22.10.2008 11:16
Как поменять интервал между буквами в поле Acces? xruss Microsoft Office Access 9 08.05.2008 11:32