Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lazarus-StringGrid.pptx
Скачиваний:
30
Добавлен:
27.04.2021
Размер:
405.52 Кб
Скачать

Компоненты Lazarus для работы с массивами и матрицами

Компонент: таблица StringGrid

Компонент StringGrid находится на странице Additional палитры компонентов. StringGrid - компонент для отображения различных данных в табличной форме.

Таблица StringGrid состоит из выделенных серым FixedCols и FixedRows -

зафиксированных ячеек-заголовков, и обычных, белых ячеек. Содержимое Fixed ячеек

недоступно редактированию, и меняется только программно.

Свойство

Основные свойства компонента StringGrid

Определение

ColCount

Количество столбиков таблицы

RowCount

Количество строк таблицы

Cells

Соответствующий таблице двумерный массив. Ячейка таблицы, которая

находится на пересечении столбца col и строки row определяется элементом

 

cells[col, row]

FixedCols

Количество зафиксированных налево столбиков таблицы.

FixedRows

Количество зафиксированных сверху строк таблицы.

Options.goEditing

Признак допустимости редактирования содержания ячеек таблицы. True —

 

редактирование разрешено, False — запрещено

Options.goTab

Позволяет (True) или запрещает (False) использование клавиши <Таb> для

перемещения курсору в следующую ячейку таблицы

 

DefaultColWidth

Ширина столбиков таблицы

DefaultRowHeight

Высота строк таблицы

Компонент: таблица StringGrid

Компонент StringGrid имеет возможность адресации каждой отдельной ячейки по номеру столбца и строки. Содержимое ячейки (i, j),

где i - номер столбца, j - номер строки, имеет вид

StringGrid1.Cells[i, j]

и доступно как для чтения, так и для записи.

Номера столбцов ( i ) и строк ( j ) отсчитываются от 0 !!!.

Очистка компонента StringGrid

Пример использования StringGrid

Вычислить сумму и среднее арифметическое компонентов массива

procedure TForml.ButtonlClick(Sender: TObject); var

a : array[1..5] of integer; // массив summ: integer; // сумма элементов sr: real; // среднее арифметическое i: integer; // индекс

begin

//ввод массива for i: = 1 to 5 do

if Length(StringGridl.Cells[i-1, 0]) <>0 then a[i] := StrToInt(StringGridl.Cells[i-1,0])

else

a[i] : = 0;

//обработка массива

summ := 0;

for i :=1 to 5 do summ := summ + a[i]; sr : = summ / 5;

// вывод результата

Label2.Caption : ='Сумма элементов: ' + IntToStr(summ)+ #13+ ‘Среднее арифметическое: ' + FloatToStr(sr);

end;

end.

Пример использования StringGrid

Вычислить сумму и среднее арифметическое компонентов массива

Процедура оброботки события OnKeyPress

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

case Key of

#8, '0'..'9':; //цифры и клавиша <Backspace> #13: // клавиша <Enter>

if StringGridl.Col < StringGridl.ColCount -1 then StringGridl.Col : = StringGridl.Col + 1;

else key : = Chr(0); // если выбраны другие символы end;

end;

Данная процедура выполняет автоматический перевод курсора в следующую ячейку при нажатии «Enter», а также выполняет функции фильтрации данных (в ячейку разрешено вводить только цифры).

Пример использования StringGrid для ввода матриц

Выполнить ввод матрицы из компонента StringGrid

Пример использования StringGrid для вывода матриц

Выполнить вывод матрицы в компонент StringGrid

Свойства компонента StringGrid

Свойство Значение

Name

mb

ColCount

5

ColCount

5

FixedCol

1

FixedRow

1

Options.goColSizing

true

Options.goRowSizing

true

Options.goEditing

true

Options.Tabs

true

Пример использования StringGrid

Найти максимальный компонент матрицы и его местонахождение

Обработчик нажатия по кнопке «Найти максимум»

Соседние файлы в предмете Информатика