Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.06.2018, 14:39
Аватар для LIONSMILE
LIONSMILE LIONSMILE вне форума
Новичок
 
Регистрация: 19.03.2018
Сообщения: 51
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Как правильно прописать условие в программе

Доброго времени суток!

Слепил простенькую программку, она же автокликер, коих на просторах инета много. Но есть один ньюанс. Мне нужно правильно прописать условие. Теперь по точнее. Я получаю координаты трех точек на экране и записываю их в 6 компонентов Edit, X и Y соответственно для каждой точки в отдельный компонент. Далее смысл таков, программа дожна с некоторым интервалом делать проверку с таким условием, что если в этих трех точках (во всех сразу) присутвует определенный цвет ( в данном случае HEX #151300 или RGB (21, 19, 0)) то работа программы останавливается, равно также если это условие присутствует в начале работы программы - то не кликает вообще. Помогите, если не сложно, прописать данное условие.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if SpinEdit1.Text='0' then
  showmessage('Не указан интервал кликов')
  else begin
  Timer3.Interval:=StrToInt(SpinEdit1.Text);
  Timer3.Enabled:=True;
  button1.Enabled:=False;
  button2.Enabled:=True;
end;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer3.Enabled:=False;
  Timer1.Enabled:=True;
  Timer2.Enabled:=True;
  button2.Enabled:=False;
  button1.Enabled:=True;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var
  p: TPoint;
  begin
  GetCursorPos(p);
  Edit3.Text:= IntToStr(p.X);
  Edit4.Text:= IntToStr(p.Y);
end;
 
procedure TForm1.Button4Click(Sender: TObject);
var
  p: TPoint;
  begin
  GetCursorPos(p);
  Edit5.Text:= IntToStr(p.X);
  Edit6.Text:= IntToStr(p.Y);
end;
 
procedure TForm1.Button5Click(Sender: TObject);
var
  p: TPoint;
  begin
  GetCursorPos(p);
  Edit7.Text:= IntToStr(p.X);
  Edit8.Text:= IntToStr(p.Y);
end;
 
procedure TForm1.Button6Click(Sender: TObject);
begin
  close;
end;
 
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, Height,
  SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE );
end;
 
procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
  If Msg.CharCode = 81 then // Клавиша Q - устанавливает координаты первой контрольной точки
  begin
    Button3.Click;
    Handled := True;
  end
 
  else If Msg.CharCode = 87 then // Клавиша W - устанавливает координаты второй контрольной точки
  begin
    Button4.Click;
    Handled := True;
  end
 
  else If Msg.CharCode = 69 then // Клавиша E - устанавливает координаты третьей контрольной точки
  begin
    Button5.Click;
    Handled := True;
  end
 
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
  p: TPoint;
  begin
    GetCursorPos(p);
    Edit1.Text:= IntToStr(p.X);
    Edit2.Text:= IntToStr(p.Y)
end;
 
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  if getasynckeystate($55)<>0 then begin //Если нажат Ctrl, то ...
  Timer1.Enabled:=False;
  Timer2.Enabled:=False;
end;
end;
 
procedure TForm1.Timer3Timer(Sender: TObject);
var
position: TPoint;
begin
  if getasynckeystate($20)<>0 then begin // Если нажат пробел, то перестать кликать
  Timer1.Enabled:=True;
  Timer2.Enabled:=True;
  Timer3.Enabled:=False;
  button1.Enabled:=True;
  button2.Enabled:=False;
  end
 
  else begin
  SetCursorPos(StrToInt(Edit1.text),StrToInt(Edit2.text));
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;
end;

Проект прилагаю - Click.ZIP

Спасибо заранее!
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter