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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.04.2011, 17:56
HmTH HmTH вне форума
Прохожий
 
Регистрация: 10.04.2011
Сообщения: 2
Репутация: 10
По умолчанию Циклы

Здравствуйте. Пишу прогу, что-то типа кликера , которая должна кликать в заданных координатах, при условии, что в этих координатах нужный нам цвет.
1. Устанавливаем курсор , нажимаем кнопку и сохраняется нужный нам цвет.
2. Устанавливаем курсор , нажимаем кнопку и сохраняется нужные нам координаты.
3. Нажимаем старт, прога переносит курсор и проверяет, совпадает сохраненый нами цвет, с тем что сейчас, если да, то кликает в это место...

Прога сама по себе рабочая, но столкнулся с вопросом. Как мне сделать так, чтобы я мог задавать интервал между повторениями всех этих процедур, и прога все это делала скажем через каждые 30 секунд до тех пор, пока я не отменю ?


Собственно вот исходник

PHP код:
type
  TForm1 
= class(TForm)
    
Timer1TTimer;
    
Label1TLabel;
    
Timer2TTimer;
    
Label2TLabel;
    
Label3TLabel;
    
StaticText1TStaticText;
    
StaticText2TStaticText;
    
StaticText3TStaticText;
    
Button1TButton;
    
StaticText4TStaticText;
    
Button2TButton;
    
StaticText5TStaticText;
    
Timer3TTimer;
    
Label4TLabel;
    
StaticText6TStaticText;
    
Label5TLabel;
    
Label6TLabel;
    
Timer4TTimer;
    
Timer5TTimer;
    
Button3TButton;
    
StaticText7TStaticText;
    
Edit1TEdit;
    
procedure Timer1Timer(SenderTObject);
    
procedure Timer2Timer(SenderTObject);
    
procedure Button1Click(SenderTObject);
    
procedure Button2Click(SenderTObject);
    
procedure Timer3Timer(SenderTObject);
    
procedure Timer4Timer(SenderTObject);
    
procedure Timer5Timer(SenderTObject);
    
procedure Button3Click(SenderTObject);



  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

var
  
Form1TForm1;
  
Color2TColor;
  
ColorTColor;
  
ptTPoint;
  
posTPoint;
  
dchDC;
  
XYInteger;

implementation

{$R *.dfm}
              
// Определяем цвет экрана, где наведен курсор
procedure TForm1.Timer1Timer(SenderTObject);
begin

dc 
:= GetDC (0);
GetCursorPos (pt);
Color := GetPixel(dcpt.xpt.y);
            
// Запись значения в Label1
Label1.Caption:=IntToHEX(color6);
ReleaseDC (0dc);
           
//  При нажатии на F1 цвет больше не меняется
  
if getasynckeystate($70)<>0 then
    Timer1
.Enabled:=False;
end;
          
// Определяем координаты мыши

procedure TForm1.Timer2Timer(SenderTObject);

begin
  GetCursorPos
(pos);
           
//  Записываем координаты
  
Label2.Caption:=IntToStr(pos.X);
  
Label3.Caption:=IntToStr(pos.Y);
          
//   Если нажать F2 координаты больше не меняются
  
if getasynckeystate($71)<>0 then
    Timer2
.Enabled:=False;



end;
         
//    При нажатии на кнопку координаты снова меняются
procedure TForm1.Button1Click(SenderTObject);
begin
 Timer2
.Enabled := true;
         
// удаляем запись о сохранении координат
 
Label5.Caption:=''
end;    
       
//    При нажатии на кнопку цвет снова меняется

procedure TForm1.Button2Click(SenderTObject);
begin
 Timer1
.Enabled := true;
         
// удаляем запись о сохранении цвета
 
Label6.Caption:=''
end;

         
// Получаем контрольный цвет

procedure TForm1.Timer3Timer(SenderTObject);
begin
dc 
:= GetDC (0);
GetCursorPos (pt);
Color2 := GetPixel(dcpt.xpt.y);
            
// Выводим полученны цвет в Label4
Label4.Caption:=IntToHEX(color26);
ReleaseDC (0dc);

end;

     
// Статус сохранения цвета
procedure TForm1.Timer4Timer(SenderTObject);
begin
if getasynckeystate($70)<>0 then
Label5
.Caption:='Цвет сохранен'

 
end;
        
// Статус сохранения координат

procedure TForm1.Timer5Timer(SenderTObject);
begin
if getasynckeystate($71)<>0 then
Label6
.Caption:='Координаты сохранены'
end;

       
// Кнопка старта 
procedure TForm1.Button3Click(SenderTObject);
begin
  X 
:= StrToIntDef(Label2.Caption0);
  
:= StrToIntDef(Label3.Caption0);

  
SetCursorPos(XY);
  if 
color color2 then begin
  mouse_event
(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
  
sleep(5) ;
  
mouse_event(MOUSEEVENTF_LEFTUP,X,Y,0,0);
  
end;

  
end;


end
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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