Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Поиск в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.085 c
15-1270029089
test
2010-03-31 13:51
2010.08.27
Microsoft Visual Studio 2010 beta 2


15-1272210190
Б
2010-04-25 19:43
2010.08.27
Найти delphi3d.net


2-1267779863
Цукор5
2010-03-05 12:04
2010.08.27
ambiguous overloaded call GetFactoryNumber


2-1269347442
12
2010-03-23 15:30
2010.08.27
Выделяю память. Освобождать Пушкин или сам?


15-1269615443
tesseract
2010-03-26 17:57
2010.08.27
собери себе ОС





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский