![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск в StringGrid ... [D2005, XP]
kos123 © (2010-04-19 17:23:00)Добрый день!
Помогите разобраться. Осуществляю поиск в StringGrid.
StringGrid1 - колонка1 - шаблон. По этой колонке ищу артикулы во втором и третьем и добавляю соотв. во вторую и третью колонки. Во втором гриде колонка с записями идентична (все нормально), а в третьем записи разбросаны по колонке или отсутствуют.
procedure TForm2.SpeedButton14Click(Sender: TObject);
var
i, ipM, s1, s2 : integer;
begin
s1 := RzStringGrid4.RowCount;
s2 := RzStringGrid5.RowCount;
for ipM := 1 to s1 do
begin
Edit5.Text := RzStringGrid7.Cells[1, ipM];
for i:=1 to s2 do
begin
{артикул найден}
if RzStringGrid5.Cells[2, ipM] <> Edit5.Text then
begin
RzStringGrid7.Cells[2, ipM] := RzStringGrid5.Cells[2, ipM];
Edit5.Text := RzStringGrid7.Cells[1, ipM+1];
end
{артикул НЕ найден}
else
RzStringGrid7.Cells[2, ipM] := '';
Edit5.Text := RzStringGrid7.Cells[1, ipM+1];
break;
end;
end;
end;
Если убираю break то цикл не останавливается, а так находит только первые три записи и выходит из процедуры - условие else не выполняется.
Anatoly Podgoretsky (2010-04-20 14:53:00) [1]> И. Павел (19.04.2010 18:57:03) [3]
Нужно с того номера, с какого нужно, но очень редко нужно с нулевого номера.
Jeer (2010-04-19 19:46:00) [2]
> И. Павел © (19.04.10 18:57) [3]
> Германн © (19.04.10 19:08) [4]
Безусловно, вы правы оба - и с нуля до *Count - 1.
Тут ведь другое - парень изобретает свой собственный движок аля DBEngine.
Потом у него возникнут вопросы, как ускорить поиск и т.д.
"Если сознание не определило Путь, то путь будет определять сознание" (С)
Германн (2010-04-19 19:08:00) [3]
> Если не ошибаюсь, нужно с нуля.
Скорее нужно до RowCount-1.
И. Павел (2010-04-19 18:57:00) [4]Первое, что бросается в глаза - это индексация в StringGrid с 1. Если не ошибаюсь, нужно с нуля.
Германн (2010-04-19 18:13:00) [5]
> Помогите разобраться.
Отформатируешь код, сам найдешь ошибку.
Jeer (2010-04-19 17:51:00) [6]Красавец !
Продолжай в том же духе.