Snake750
21-03-2010, 01:37
Доброго времени суток.Подскажите пожалуйста как сравнить ячейки StringGrid1 и StringGrid2.
В обоих стриннгридах занесены значения строкового типа вида
x y
1 2
3 4
5 6
Сначала необходимо сравнить иксы и если они равны то сравнить игрики.
Если игрики равны то записать в мемо что строки равны иначе вывести в мемо что строки не равны
Вот мой код,у меня почему то выводит не 3 строчки как должно было быть а 3 раза по 3 строчки
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
j:integer;
begin
for i:=1 to 3 do
begin
for j:=1 to 3 do
if stringgrid1.Cells[i,j]=stringgrid2.Cells[i,j]
then
if stringgrid1.Cells[i+1,j]=stringgrid2.Cells[i+1,j]
then
memo3.Lines.add(inttostr(j)+'Строка равны')
else
memo3.Lines.add(inttostr(j)+'Строки не равны');
end;
end;
И вот то что я получаю
1Строка равны
2Строки не равны
3Строка равны
1Строка равны
3Строка равны
1Строка равны
2Строка равны
3Строка равны
А должен получить
Строки равны
Строки равны
Строки равны
Гляньте свежим взглядом, я сам найти проблему не могу
В обоих стриннгридах занесены значения строкового типа вида
x y
1 2
3 4
5 6
Сначала необходимо сравнить иксы и если они равны то сравнить игрики.
Если игрики равны то записать в мемо что строки равны иначе вывести в мемо что строки не равны
Вот мой код,у меня почему то выводит не 3 строчки как должно было быть а 3 раза по 3 строчки
procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
j:integer;
begin
for i:=1 to 3 do
begin
for j:=1 to 3 do
if stringgrid1.Cells[i,j]=stringgrid2.Cells[i,j]
then
if stringgrid1.Cells[i+1,j]=stringgrid2.Cells[i+1,j]
then
memo3.Lines.add(inttostr(j)+'Строка равны')
else
memo3.Lines.add(inttostr(j)+'Строки не равны');
end;
end;
И вот то что я получаю
1Строка равны
2Строки не равны
3Строка равны
1Строка равны
3Строка равны
1Строка равны
2Строка равны
3Строка равны
А должен получить
Строки равны
Строки равны
Строки равны
Гляньте свежим взглядом, я сам найти проблему не могу