ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Теоретические сведения. Компонент TStringGrid (таблица строк)Компонент TStringGrid (таблица строк) Компонент TStringGrid (таблица) представляет собой элемент, позволяющий отображать данные, разбитые на строки и столбцы. Добавляется компонент с помощью кнопки на дополнительной (Additional) панели инструментов. Таблица строк позволяет хранить и автоматически отображать текстовую информацию. Некоторые свойства компонента TStringGrid приведены в табл. 16.1. Таблица 16.1. Свойства TMemo
Пример 16.1. Создать и вывести на экран динамическую матрицу целых чисел указанного размера. Матрицу заполнить с помощью датчика случайных чисел. Экранная форма программы показана на рис. 16.1. Фрагмент кода программы с описанием матрицы, подпрограммой формирования матрицы и вывода матрицы в компонент TStringGrid имеет вид
type TaArray= array of array of integer; //описание типа динамической матрицы ... var FrmMain: TFrmMain; A:TAarray; //глобальная переменная — динамическая матрица Implementation {формирование динамической матрицы размера Row Х Col} procedure inputArray( var Arr:TAarray;Row,Col:integer); var i,j:integer; begin randomize; SetLength(Arr,Row,Col); //выделяем память под матрицу for i:=low(Arr) to high(arr) do for j:=low(Arr[i]) to high(Arr[i]) do Arr[i,j]:=random(10); //заполняем элементы матрицы // случайными числами от 0 до 10 end; {Обработчик события нажатия кнопки «Заполнение матрицы»} procedure TFrmMain.BtnRandClick(Sender: TObject); var i,j,r,c:integer; begin r:=strtoint(EdtRow.Text); c:=strtoint(EdtCol.Text); inputArray(A,r,c); //заполнение матрицы strGrdA.ColCount:=c+1; StrGrdA.RowCount:=r+1; StrGrdA.ColWidths[0]:=90;//увеличиваем ширину 0-го столбца StrGrdA.Cells[0,0]:='строки/столбцы'; for j:=1 to c+1 do StrGrdA.Cells[j,0]:=inttostr(j); //строка заголовка for i:=1 to r+1 do StrGrdA.Cells[0,i]:=inttostr(i); //столбец заголовка for i:=low(A) to high(A) do //вывод матрицы в компонент for j:=low(A[i]) to high(A[i]) do StrGrdA.Cells[j+1,i+1]:=inttostr(A[i,j]); end; Рис. 16.1. Экранная форма примера 16.1 Порядок выполнения работы 1. Создать приложение для решения задачи формирования и обработки двумерного динамического массива согласно варианту. Приложение должно содержать главную форму, в которой находится: · главное меню; · компоненты TStringGrid для ввода и вывода результатов; · контекстное меню. 2. Разработать отдельные подпрограммы с параметрами: · формирования динамической квадратной матрицы целочисленных данных; · вывода на экран динамической матрицы в компонент StringGrid, · удаления элементов (с изменением размера) динамической матрицы, заданных в варианте. Размер исходной матрицы N вводится с клавиатуры и фактически не ограничен (ограничен оперативной памятью). 3. Обработать все возможные исключительные ситуации. Возможный вид формы изображен на рис. 16.2.
Рис. 16.2. Экранная форма лабораторной работы №16 Варианты
Контрольные вопросы 1. Компонент TStringGrid (таблица строк). Особенности его использования для вывода матрицы. 2. Основные свойства таблицы строк. 3. Особенности создания форм многооконных приложений. 4. Доступ к элементам дочерних форм. 5. Особенности закрытия дочерних форм. Лабораторная работа № 17 Цель работы: получение навыков по созданию собственных классов. Не нашли, что искали? Воспользуйтесь поиском:
|