Доброго времени суток!
Помогите пожалуйста с модулем - он же сканер цвета.
Вот код модуля, в котором 3 процедуры.
Код:
unit Unit2;
interface
uses
Classes, Graphics;
type
TScan = class(TThread)
private
Procedure FindVisual;
Procedure Control;
protected
procedure Execute; override;
end;
Var
Scan : TScan;
implementation
Uses Unit1;
{ TScan }
Procedure TScan.FindVisual;
Begin
Form1.Panel1.Color:= clLime;
End;
Procedure TScan.Control;
Begin
Form1.Panel1.Color:= clRed;
End;
procedure TScan.Execute;
var
x,y : integer;
begin
Repeat
For x:=X1 To X2 Do
For y:=Y1 To Y2 Do
// If GetPixel(c.Handle,x,y)=Cl Then
If c.Pixels[x,y]=Cl Then Synchronize(FindVisual);
Until Terminated;
end;
end.
Procedure TScan.Execute - сканирует указанную область экрана на соответствие цвета, который выбран в ColorDialog на основной форме и если условие выполняется, то передает команду процедуре TScan.FindVisual.
Procedure TScan.FindVisual - обрабатывает результаты со сканера и выполняет действие № 1.
Проблема возникла вот в чем. Как правильно прописать в процедуре TScan.Execute условие когда в заданой области нет того самого цвета, который выбран в ColorDialog на основной форме и передать команду процедуре TScan.Control, которая будет выполнять действие № 2.
Спасибо заранее!