Если у Вас есть цикл и в нем более 1 действия то ОБЯЗАТЕЛЬНО надо ставить Begin...End
Как мне кажется ошибка здесь...
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
found: boolean;
i: longint;
begin
for i:=1 to n do // Цикл без Begin..End
a[i]:=StrToInt(StringGrid1.Cells [i-1,0]); // a[1]..a[n]
b[i]:= StrToInt(StringGrid2.Cells [i-1,0]); // b[n] only
found:=False; // c While\Repeat тож надо Begin..end
i:=1;
repeat
if a[i]= b[i] then
found:=True
else
i:=i+1;
until (i>n) or (found = True);
if found then
ShowMessage ( ' ' + IntToStr(i)+#13+' ')
else
ShowMessage ( ' ');
end;
И пожалуйста... Для кода есть специальный тег Code /code