Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Grid index out of range [D6, WinXP]


d-coder ©   (2002-09-24 03:08:00) 

Такая мессага появляется непонятно почему. Текст процедуры вроде как правильный, но при попытке нажатия на кнопку theme_but компилятор ругается.
Этот код берет значение из ComboBox"a theme(заполнен из текстового файла) и при нажатии кнопки должен прошерстить StringGrid booklist(тоже заполнен из текстового файла) и при совпадении текста из theme и из одного из столбцов booklist должен выписать всю найденную в booklist строку в строку filtlist.
Короче говоря, это фильтр. И все кажется вполне правильным, но у Delphi свой взгляд на вещи.
ПОЖАЛУЙСТА помогите, мастера. Уверен, что вы легко найдете ошибку (тем более описание ОЧЕНЬ подробное).
Заранее спасибо тем, кто откликнется.
Вот код:

procedure Tmain.theme_butClick(Sender: TObject);
begin
row:=1; r:=1; filtlist.Row:=1;
if themest.Text<>"" then
begin
while row<=3824 do
begin
if booklist.Cells[2, row]=themest.Text then
begin
for c:=0 to 4 do
begin
filtlist.Cells[c, r]:=histlist.Cells[c, row];
end;
r:=r+1;
filtlist.Row:=filtlist.Row+1;
end;
row:=row+1;
end;
end;
end;


Zz_   (2002-09-24 09:47:00) [1]

А первое Row случайно не равно 0 ?
Соответственно последнее (Count-1)


d-coder   (2002-09-24 09:39:00) [2]

Это не столь важно: я точно знаю, что там ровно 3824 строки и больше не будет по-любому.
Кстати, по этому же поводу: когда заполнял booklist из цикла с условием while not Eof(F) do... получил кучу пустых строк (приблизительно в 4 раза больше, чем заполненных) - т.е. все, что нужно было внесено, а в догонку туева хуча пустых строк. В чем прикол не знаю, но пофиксил я это именно константой=реальному кол-ву строк


Вот непонятно   (2002-09-24 03:54:00) [3]

почему используется некая константа "3824" вместо RowCount. Поскольку, согласно вопросу, "StringGrid booklist(тоже заполнен из текстового файла)"?


Наверх

Титульная страница Поиск, карта сайта Написать письмо