Показать сообщение отдельно
  #1  
Старый 02.11.2010, 17:21
EvgenDRV EvgenDRV вне форума
Прохожий
 
Регистрация: 24.07.2010
Сообщения: 2
Репутация: 10
По умолчанию Проблема с циклами (for)

Перебирается каждый пиксель на картинке (на картинке пять точек) как только находит первый нужный пиксель цикл останавливается, начинается второй цикл нахождения второй точки... но он никак не хочет запускаться, первую находит и всё... я в панике, помогите пожалуйста, умоляю...

Код:
procedure TMainForm.Timer1Timer(Sender: TObject);
var
n,s,st,i,s2,st2,i2, n2:Integer;
b,z:Cardinal;
begin
SampleGrabber1.GetBitmap(Image.Picture.Bitmap);
s:=119;
st:=159;
for i:=0 to s do
for n:=0 to st do
   begin
b:= GetYValue(image.Picture.Bitmap.Canvas.Pixels[n,i]);
if b>110 then
       begin
       Label1.Caption:='x='+IntToStr(n);
       Label2.Caption:='y='+IntToStr(i);
       exit;
       end;
    end;
//первую точку нашли, ищем вторую... не РАБОТАЕТ МХА-А-А
               s2:=119;
               st2:=n+20;

               for i2:=i+10 to s2 do
               for n2:=n-20 to st2 do

               begin
                 z:= GetYValue(image.Picture.Bitmap.Canvas.Pixels[n2,i2]);
                 if z>110 then
                    begin
                    Label3.Caption:='x='+IntToStr(n2);
                    Label4.Caption:='y='+IntToStr(i2);
                    exit;
                    end;
               end;
end;
Ответить с цитированием