Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.Начало.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.56 Mб
Скачать

Компонент tStringGrid

Для наилучшего визуального представления содержимого одномерного или двумерного массива можно использовать компонент TStringGrid, который расположен на вкладке Additional. Компонент представляет собой сетку, состоящую из набора ячеек, как показано на рисунке.

Фиксированная часть сетки

Доступ к ячейкам сетки можно получать программным путем. Ячейка сетки может содержать числовую или текстовую информацию. По умолчанию сетка состоит из 5 строк и 5 столбцов. С помощью свойств можно изменить размер сетки, содержимое ее ячеек, цвет и размер фиксированной части. Нулевой столбец и нулевая строка сетки закрашены другим цветом, именно они и задают так называемую фиксированную часть сетки.

Основные свойства компонента приведены в таблице:

Свойство

Описание

ColCount

Задает количество столбцов в таблице.

RowCount

Задает количество строк в таблице.

Color

Цвет фона.

FixedColor

Цвет фиксированной части (0 строка, 0 столбец).

FixedCols

Число фиксированных столбцов.

FixedRows

Число фиксированных строк.

DefaultColWidth

Задает ширину всех столбцов в пикселах

DefaultRowHeight

Задает высоту всех строк в пикселах

GridLineWidth

Толщина линий сетки.

Options

Опции, позволяют менять ширину строк и столбцов сетки. Например:

goEditing – если равно true, то можно изменять содержимое ячеек сетки

Cells

Двумерный массив, позволяет получать доступ к ячей­кам сетки: Cells[col,row : integer]:string. Где col – номер столбца, row – номер строки

При использовании компонента StringGrid следует иметь в виду, что элементы массива Cells это строки, при этом первый индекс массива Cells задает номер столбца, а второй индекс задает номер строки. Для того, чтобы можно было заполнять ячейки сетки во время выполнения программы необходимо опцию goEditing сделать равной true, по умолчанию она равна false.

Пример 1. Например, заполнить сетку размером 10 на 10 случайными целыми числами от 1 до 100. Для отображения результатов использовать компонент StringGrid.

Размер сетки и размер ячейки сетки можно задать либо на этапе проектирования с помощью инспектора объектов, либо программным путем с помощью свойств ColCount, RowCount, DefaultColWidth, DefaultRowHeight. Программный код, запускаемый по кноп­ке «Заполнить сетку», может иметь следующий вид:

var i,j:integer;

begin

randomize;

for i:=0 to 9 do

for j:=0 to 9 do

StringGrid1.Cells[i,j]:=IntToStr(random(100)+1);

Пример 2. Найти наименьший и наибольший элементы массива из 10 элементов, если значения элементов массива формируются случайным способом числами от 1 до 100. Вывести результат на экран с помощью StringGrid. Внешний вид экрана приведен на рисунке:

Программный код может иметь, например, следующий вид:

var i,a,min,max:integer;

begin

randomize;

min:=100; max:=0;

for i:=0 to 9 do

begin

a:=random(100)+1;

StringGrid1.Cells[i,0]:=IntToStr(a);

if min>a then min:= a;

if max<a then max:= a;

end;

Label1.Caption:='Минимальный '+IntToStr(min);

Label2.Caption:='Максимальный '+IntToStr(max);

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]