Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Заполнен ли StringGrid

Автор: Sensitive 13.05.2009 21:35

Здравствуйте.
Попробую описать ситуацию:
На форме есть StringGrid и есть Кнопка. Кнопка должна становиться активной только после того, как стрингГрид будет полностью заполнен числами. Он заполняется вручную.
Вопрос такой:
Где сделать проверку заполненности СтрингГрида? (как проверить полностью ли заполнен СтрингГрид понятно, а вот где эту проверочку написать не знаю...)
Или может возникает какое-то событие после заполнения ячеек СтрингГрида, если да, то какое?
Если можете, то ответьте, спасибо.

Автор: volvo 13.05.2009 22:34

Повесь вот такой обработчик на OnSetEditText своего грида:

// Это - доп. функция
function CheckGrid(grid: TStringGrid): boolean;
var iCol, iRow: integer;
begin
result := true;
for iCol := grid.FixedCols + 1 to grid.ColCount do
for iRow := grid.FixedRows + 1 to grid.RowCount do begin
result := result and (grid.Cells[Pred(iCol), Pred(iRow)] <> '');
end;
end;

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string);
begin
Button1.Enabled := CheckGrid(Sender as TStringGrid); // Button1 - та самая кнопка
end;

Автор: Sensitive 14.05.2009 1:06

Большое спасибо!