Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизКак проверить занятость всех ячеек в StringGrid Найти похожие ветки
← →
ddrx (2003-06-21 19:40) [0]Почему не работает следующий код?
if (StringGrid1.Cells [1,i]="") or (StringGrid1.Cells [2,i]="")
then
BitBtn2.Enabled:=false
else BitBtn2.Enabled:=true;
Я только учусь, так что не ругайте.
← →
Anatoly Podgoretsky (2003-06-21 19:42) [1]А тебе что именно надо?
← →
ddrx (2003-06-21 19:43) [2]Ивините, не дописал.
for i:=0 to StringGrid1.RowCount - 1 do
begin
if (StringGrid1.Cells [1,i]="") or (StringGrid1.Cells [2,i]="")
then
BitBtn2.Enabled:=false
else BitBtn2.Enabled:=true;
end;
← →
ddrx (2003-06-21 19:46) [3]> Anatoly Podgoretsky © (21.06.03 19:42)
Я ввожу числа в столбцы StringGrid1.Cells [1,i] и StringGrid1.Cells [2,i]
А кнопка срабатывает даже если заполнены только ячейки в последней строке.
← →
Anatoly Podgoretsky (2003-06-21 19:52) [4]Что происходит понятно, а вот что именно ты хочешь сделать нет. Если ты не можешь сказать точно, то тогда попробуй рассказать своими словами.
← →
Makhanev A.S. (2003-06-21 19:57) [5]Таким образом ТЫ проверишь только последнюю итерацию цикла.
Подумай об этом.
← →
ddrx (2003-06-21 20:00) [6]У меня имеется StringGrid1 и кнопка BitBtn2
Если в StringGrid1 есть хоть одна не заполненная ячейка, то кнопка остается не доступной.
В StringGrid1"е имеются 3 столбца: 1-й это нумерация и его проверять не надо, во 2-й и 3-й я ввожу числа.
Да числа вводятся с самой первой строки, т.е. с нулевой, а не с 1-й.
← →
Makhanev A.S. (2003-06-21 20:05) [7]Тогда так:
BitBtn2.Enabled:=True
for i:=0 to StringGrid1.RowCount - 1 do
if (StringGrid1.Cells [1,i]<>"") or (StringGrid1.Cells [2,i]<>"")
then begin
BitBtn2.Enabled:=false
Break;
end;
← →
Anatoly Podgoretsky (2003-06-21 20:06) [8]Тогда надо переписать код, что бы прекращать сканирование при нахождении первой пустой ячейки.
BitBtn2.Enabled := true;
for i:=0 to StringGrid1.RowCount - 1 do
begin
if (StringGrid1.Cells [1,i] = "") or (StringGrid1.Cells [2,i]= "")
then begin
BitBtn2.Enabled := false;
Break;
end;
end;
← →
Makhanev A.S. (2003-06-21 20:11) [9]прошу прощения, конечно так:
if (StringGrid1.Cells [1,i] = "") or (StringGrid1.Cells [2,i]= "")
просмотрел слолво "НЕ"
← →
ddrx (2003-06-21 20:14) [10]Понятно. Спасибо! Забыл про выход из цикла. Недавно же читал об этом...
Только для моего примера нужно так
for i:=0 to StringGrid1.RowCount do
чтобы проверять с первой строки.
← →
ddrx (2003-06-21 20:16) [11]или нет...
← →
Anatoly Podgoretsky (2003-06-21 20:35) [12]for i:=0 to StringGrid1.RowCount do
Так правильно от нулевой до последней
← →
Anatoly Podgoretsky (2003-06-21 20:40) [13]RowCount - 1
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c