Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Поиск в StringGrid ...   Найти похожие ветки 

 
kos123 ©   (2010-04-19 17:23) [0]

Добрый день!
Помогите разобраться. Осуществляю поиск в 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 не выполняется.


 
Jeer ©   (2010-04-19 17:51) [1]

Красавец !
Продолжай в том же духе.


 
Германн ©   (2010-04-19 18:13) [2]


> Помогите разобраться.

Отформатируешь код, сам найдешь ошибку.


 
И. Павел ©   (2010-04-19 18:57) [3]

Первое, что бросается в глаза - это индексация в StringGrid с 1. Если не ошибаюсь, нужно с нуля.


 
Германн ©   (2010-04-19 19:08) [4]


> Если не ошибаюсь, нужно с нуля.

Скорее нужно до RowCount-1.


 
Jeer ©   (2010-04-19 19:46) [5]


> И. Павел ©   (19.04.10 18:57) [3]


> Германн ©   (19.04.10 19:08) [4]


Безусловно, вы правы оба - и с нуля до *Count - 1.
Тут ведь другое - парень изобретает свой собственный движок аля DBEngine.
Потом у него возникнут вопросы, как ускорить поиск и т.д.

"Если сознание не определило Путь, то путь будет определять сознание" (С)


 
Anatoly Podgoretsky ©   (2010-04-20 14:53) [6]

> И. Павел  (19.04.2010 18:57:03)  [3]

Нужно с того номера, с какого нужно, но очень редко нужно с нулевого номера.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
15-1274077724
12
2010-05-17 10:28
2010.08.27
и я спрошу. Писалка DVD + CDchanger


2-1270741758
kiligin
2010-04-08 19:49
2010.08.27
Работа с TListView


2-1270400826
lamer6666
2010-04-04 21:07
2010.08.27
Потоки и POST


2-1267882176
nikih22
2010-03-06 16:29
2010.08.27
SERVESOCKET и CLIENTSOKEТ и интернет


2-1271700671
pleasure
2010-04-19 22:11
2010.08.27
MSSQL 2005 роли и пользователи