Форум: "WinAPI";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизGrid index out of range Найти похожие ветки
← →
d-coder (2002-09-24 03:08) [0]Такая мессага появляется непонятно почему. Текст процедуры вроде как правильный, но при попытке нажатия на кнопку 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;
← →
Вот непонятно (2002-09-24 03:54) [1]почему используется некая константа "3824" вместо RowCount. Поскольку, согласно вопросу, "StringGrid booklist(тоже заполнен из текстового файла)"?
← →
d-coder (2002-09-24 09:39) [2]Это не столь важно: я точно знаю, что там ровно 3824 строки и больше не будет по-любому.
Кстати, по этому же поводу: когда заполнял booklist из цикла с условием while not Eof(F) do... получил кучу пустых строк (приблизительно в 4 раза больше, чем заполненных) - т.е. все, что нужно было внесено, а в догонку туева хуча пустых строк. В чем прикол не знаю, но пофиксил я это именно константой=реальному кол-ву строк
← →
Zz_ (2002-09-24 09:47) [3]А первое Row случайно не равно 0 ?
Соответственно последнее (Count-1)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c