Здравствуйте. Пишу прогу, что-то типа кликера , которая должна кликать в заданных координатах, при условии, что в этих координатах нужный нам цвет.
1. Устанавливаем курсор , нажимаем кнопку и сохраняется нужный нам цвет.
2. Устанавливаем курсор , нажимаем кнопку и сохраняется нужные нам координаты.
3. Нажимаем старт, прога переносит курсор и проверяет, совпадает сохраненый нами цвет, с тем что сейчас, если да, то кликает в это место...
Прога сама по себе рабочая, но столкнулся с вопросом. Как мне сделать так, чтобы я мог задавать интервал между повторениями всех этих процедур, и прога все это делала скажем через каждые 30 секунд до тех пор, пока я не отменю ?
Собственно вот исходник
	PHP код:
	
		
		
			
type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Label1: TLabel;
    Timer2: TTimer;
    Label2: TLabel;
    Label3: TLabel;
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    StaticText3: TStaticText;
    Button1: TButton;
    StaticText4: TStaticText;
    Button2: TButton;
    StaticText5: TStaticText;
    Timer3: TTimer;
    Label4: TLabel;
    StaticText6: TStaticText;
    Label5: TLabel;
    Label6: TLabel;
    Timer4: TTimer;
    Timer5: TTimer;
    Button3: TButton;
    StaticText7: TStaticText;
    Edit1: TEdit;
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Timer5Timer(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  Color2: TColor;
  Color: TColor;
  pt: TPoint;
  pos: TPoint;
  dc: hDC;
  X, Y: Integer;
implementation
{$R *.dfm}
              // Определяем цвет экрана, где наведен курсор
procedure TForm1.Timer1Timer(Sender: TObject);
begin
dc := GetDC (0);
GetCursorPos (pt);
Color := GetPixel(dc, pt.x, pt.y);
            // Запись значения в Label1
Label1.Caption:=IntToHEX(color, 6);
ReleaseDC (0, dc);
           //  При нажатии на F1 цвет больше не меняется
  if getasynckeystate($70)<>0 then
    Timer1.Enabled:=False;
end;
          // Определяем координаты мыши
procedure TForm1.Timer2Timer(Sender: TObject);
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(Sender: TObject);
begin
 Timer2.Enabled := true;
         // удаляем запись о сохранении координат
 Label5.Caption:=''
end;    
       //    При нажатии на кнопку цвет снова меняется
procedure TForm1.Button2Click(Sender: TObject);
begin
 Timer1.Enabled := true;
         // удаляем запись о сохранении цвета
 Label6.Caption:=''
end;
         // Получаем контрольный цвет
procedure TForm1.Timer3Timer(Sender: TObject);
begin
dc := GetDC (0);
GetCursorPos (pt);
Color2 := GetPixel(dc, pt.x, pt.y);
            // Выводим полученны цвет в Label4
Label4.Caption:=IntToHEX(color2, 6);
ReleaseDC (0, dc);
end;
     // Статус сохранения цвета
procedure TForm1.Timer4Timer(Sender: TObject);
begin
if getasynckeystate($70)<>0 then
Label5.Caption:='Цвет сохранен'
 end;
        // Статус сохранения координат
procedure TForm1.Timer5Timer(Sender: TObject);
begin
if getasynckeystate($71)<>0 then
Label6.Caption:='Координаты сохранены'
end;
       // Кнопка старта 
procedure TForm1.Button3Click(Sender: TObject);
begin
  X := StrToIntDef(Label2.Caption, 0);
  Y := StrToIntDef(Label3.Caption, 0);
  SetCursorPos(X, Y);
  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.