Ввод массива. Компонент StringGrid

Используем компонент StringGrid (Massiv: TStringGrid;) для ввода значений элементов массива (A: array[1..N] of integer;).

 

Шаг 1. Интерфейс Пользователя

Размещаем компонент StringGridна форме.

В Инспекторе объектов определяем значения следующих свойств

Свойство Значение Комментарий
ColCount Количество столбцов
DefaultColWidth Ширина столбца (по умолчанию)
FixedCols Количество фиксированных столбцов
FixedRows Количество фиксированных строк
RowCount Количество строк

Шаг 2. Обработка события OnKeyPressкомпонентаStringGrid

procedure TForm1.MassivKeyPress(Sender: TObject; var Key: Char);

Begin

Case Key of

#8,'0'..'9' : ; ; // можно ввести числа 0..9 и удалить предыдущий

// символ ( #8 – клавиша Backspace)

#13: // клавиша Enter

if Massiv.Col < Massiv.ColCount-1

Then

Massiv.Col := Massiv.Col + 1; // курсор устанавливается в

// следующий столбец

Else

key := Chr(0); // не обрабатывать нажатие других клавиш

end;

end;

Шаг 3. Формирование массива из строк компонента StringGrid

Поместим этот код в обработчик события (например, OnClick –щелчок по кнопке), которой вызывается после заполнения ячеек компонента StringGrid

for i:= 1 to N do

if Length(Massiv.Cells[i-1, 0]) <>0