Ввод массива. Компонент 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