Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Массивы в Delphi. Компонент StringGrid. Примеры.




 

Массив— это структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя. Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.

 

Объявление массива

Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выгладит следующим образом:

 

Имя: [нижний_индекс..верхний_индекс] of тип

 

где:

имя — имя массива;

array — зарезервированное слово языка Delphi, обозначающее, что объявляемое имя является именем массива;

нижний_индекс и верхний_индекс — целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;

тип — тип элементов массива.

Примеры объявления массивов:

temper:array[1..31] of real;

 

koef: array[0..2] of integer;

name: array[1..30] of string[25];

 

Компонент Delphi StringGrid (Таблица строк) расположен на странице Additional Палитры компонентов. Использование электронных таблиц пользователями компьютеров стало привычным и достаточно удобным средством в работе с данными. С помощью компонента StringGrid создаются таблицы, в ячейках которых содержаться произвольные текстовые данные. Он является прямым потомком компонента DrawGrid, много свойств и методов унаследовано от него.

 

Основное свойство компонента StringGrid - это двумерный массив Cells[ACol, ARow : integer] типа String с помощью него можно обращаться к содержимому ячеек и изменять их содержание. ACol устанавливает номер столбца, ARow - задает строку в таблице. Этим свойством можно воспользоваться только во время выполнения программы, оно доступно для записи и чтения.

 

 

Нумерация строк и столбцов идет с нуля. Свойство ColCount задает число столбцов, RowCount - число строк.

 

Компонент StringGrid по умолчанию слева и сверху имеет заголовочные области, они имеют серый цвет. Количество подобных строк и столбцов устанавливается в свойствах FixedCols и FixedRow. Если же для таблицы не нужны заголовочные области, то эти свойства должны быть равны нулю.

 

Для закрепления материала давайте создадим приложение, которое покажет нам таблицу умножения. На форму шириной (Width) равной 365 и высотой (Height) 389 поместим компонент StringGrid. Обработчик onCreate формы (возникает двойным щелчком мыши по форме) будет таким: 

 

procedure TForm1.FormCreate(Sender: TObject);

var

x, y : integer;

begin

// Задаем число столбцов и строк таблицы

StringGrid1.ColCount := 10;

StringGrid1.RowCount := 10;

 

// Задаем шируну и высоту ячеек

StringGrid1.DefaultColWidth := 30;

StringGrid1.DefaultRowHeight:= 30;

 

// раставляем цифры от 1 до 9 в

// горизонтальной области заголовка

for x := 1 to StringGrid1.ColCount - 1 do

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

 

// растравляем цифры от 1 до 9 в

// вертикальной области заголовка

for y := 1 to StringGrid1.ColCount - 1 do

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

 

// выводим результаты умножения в ячейки таблицы

for x := 1 to StringGrid1.ColCount - 1 do

for y := 1 to StringGrid1.RowCount - 1 do

StringGrid1.Cells[x, y] := IntToStr(x*y);

end;

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 326.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...