 
			
				10.04.2011, 23:57
			
			
			
		  
	 | 
	
		
		
		
			
			| 
			
				
				
				 Прохожий 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 10.04.2011 
					
					
					Сообщения: 2
 
				
					Репутация: 10 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				
			 
			 
			
		
		
		
		
	Цитата: 
	
	
		| 
			
				 Сообщение от lmikle 
				У тебя куча таймеров, которые используются не по назначению. А вот как раз на нажатие у тебя кнопка, а не таймер. 
			
		 | 
	 
	 
 
Переписал код, теперь два таймера. Один определяет цвет и координаты + ряд других функций. Другой тоже определяет цвет, но постоянно.
 
	PHP код: 
	
		
		
			
unit Bot_start;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, ExtCtrls, ComCtrls, CoolTrayIcon;
 
 type
   TForm1 = class(TForm)
     Timer1: TTimer;
     Label1: TLabel;
     Label2: TLabel;
     Label3: TLabel;
     StaticText1: TStaticText;
     StaticText2: TStaticText;
     StaticText3: TStaticText;
     Button1: TButton;
     StaticText4: TStaticText;
     Button2: TButton;
     StaticText5: TStaticText;
     Label4: TLabel;
     StaticText6: TStaticText;
     Label5: TLabel;
     Label6: TLabel;
     Button3: TButton;
     CheckBox1: TCheckBox;
     Edit1: TEdit;
     StaticText7: TStaticText;
     Memo1: TMemo;
     Timer6: TTimer;
     procedure Timer1Timer(Sender: TObject);
     procedure Button1Click(Sender: TObject);
     procedure Button2Click(Sender: TObject);
     procedure Button3Click(Sender: TObject);
     procedure Timer6Timer(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);
 // Выводим координаты курсора мыши
   GetCursorPos(pos);
   Label2.Caption:=IntToStr(pos.X);
   Label3.Caption:=IntToStr(pos.Y);
 //   При нажатии на F2 координаты запоминаются и больше не меняются
 //   При нажатии на F1 цвет запоминается и больше не меняется
   if
     getasynckeystate($71)<>0
   then begin
     Timer1.Enabled:=False;
     Label6.Caption:='Координаты сохранены' ;
     Memo1.Lines.Add ('Координаты сохранены') ;
 end;
      if
     getasynckeystate($70)<>0
   then begin
     Timer1.Enabled:=False;
     Label5.Caption:='Цвет сохранен' ;
     Memo1.Lines.Add('Цвет сохранен') ;
   end;
 end;
 //    При нажатии на кнопку, координаты снова меняются и удаляется запись
 procedure TForm1.Button1Click(Sender: TObject);
 begin
  Timer1.Enabled := true;
  Label5.Caption:='' ;
  Memo1.Lines.Add('Координаты удалены');
 end;
 //    При нажатии на кнопку, цвет снова меняется  и удаляется запись
 procedure TForm1.Button2Click(Sender: TObject);
 begin
  Timer1.Enabled := true;
  Label6.Caption:=''   ;
  Memo1.Lines.Add('Цвет удален');
 end;
 // Старт работы проги
 procedure TForm1.Button3Click(Sender: TObject);
 begin
   X := StrToIntDef(Label2.Caption, 0);
   Y := StrToIntDef(Label3.Caption, 0);
 
   SetCursorPos(X, Y);
   sleep(1000) ;
   if
    color = color2
   then begin
   mouse_event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0);
   mouse_event(MOUSEEVENTF_LEFTUP,X,Y,0,0);
  end;
 end;
 // Постоянное определение цвета и запсиь в Label4
 procedure TForm1.Timer6Timer(Sender: TObject);
 begin
 dc := GetDC (0);
 GetCursorPos (pt);
 Color2 := GetPixel(dc, pt.x, pt.y);
 Label4.Caption:=IntToHEX(color2, 6);
 ReleaseDC (0, dc);
  end;
 end. 
 
		 
		
	 
 
Вопрос остается актуальным, плюс возник вопрос в следующем
 
	PHP код: 
	
		
		
			
if
     getasynckeystate($71)<>0
   then begin
     Timer1.Enabled:=False;
     Label6.Caption:='Координаты сохранены' ;
     Memo1.Lines.Add ('Координаты сохранены') ;
 end;
      if
     getasynckeystate($70)<>0
   then begin
     Timer1.Enabled:=False;
     Label5.Caption:='Цвет сохранен' ;
     Memo1.Lines.Add('Цвет сохранен') ;
   end;
 end; 
 
		 
		
	 
 
Запускаю прогу, нажимаю F1 , прога делает запись что цвет сохранен, нажимаю F2, прога НЕ делает записи про координаты.... перезапускаю прогу, жму F2, прога делает запись про координаты, жму на F1 прога НЕ делает запись про цвет... в чем подвох ? Прошу помочь.  
		
	
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |