Лабораторная работа 4. Использование таблицDrawGrid и StringGrid и компонента Timer1 (продолжение)
Цель работы: ознакомление с основными характеристиками компонента StringGrid, использование компонента при создании оконных приложений. Задание 2: в целочисленной матрице А(5,5) поменять местами второй и четвертый столбец. Решить двумя способами: используя свойство Cellsи свойство Rows. Таблица StringGrid находится на странице Additional палитры компонентов. Таблица StringGrid предназначена для отображения двумерной информации, например, элементов матрицы. В таблице может находиться произвольное количество строк и столбцов. Если зафиксировать необходимое количество первых строк и столбцов, то можно задавать заголовки строк и столбцов. Нумерация строк и столбцов таблицы начинается с нуля. Основные свойства таблицы StringGrid: Col:longint; задает столбец, в котором находится активная ячейка. Свойство доступно только на этапе выполнения программы; ColCount: Longint; задает число столбцо в; Row:Longint; задает строку, в которой находиться активная ячейка. RowCount: Longint; задает число строк таблицы; FixedCols: integer; задает число фиксированных столбцов. По умолчанию задается один фиксированный столбец. FixedRows: integer; задает число фиксированных строк. Cells[j,i]: string; обращение к ячейке, расположенной на пересечении i –й строки и j-го столбца. Для определения поведения таблицы используется свойство Options. Это свойство задает флаги. Например, если значение флага goEditing свойства Options равно true, то это означает, что ячейки могут редактироваться.
План разработки программы 4.1 Со страницы Additional поместить два компонента StringGrid и со страницы Standard поместить три компонента Button; 4.2 Задать свойствам компонентов StringGrid следующие значения ColCount - 5; RowCount - 5; FixedCols – 0;. FixedRows – 0;
Options – goEditing – true; 4.3 Для компонентов Button1, Button2, Button3, Button4 задать значения свойства Caption так, как показано на рисунке. 44 Активизировать кнопку Start1.З задача будет решаться при помощи свойства Cells. Создать следующий обработчик события OnClick var i,j:integer; begin for j:=0 to 4 do if (j<>1)and (j<>3) then for i:=0 to 4 do StringGrid2.Cells[j,i]:=StringGrid1.Cells[j,i]; for i:=0 to 4 do begin StringGrid2.Cells[1,i]:=StringGrid1.Cells[3,i]; StringGrid2.Cells[3,i]:=StringGrid1.Cells[1,i]; end; end; 5.5 Активизировать кнопку Start2.З задача будет решаться при помощи свойства Cols. Создать следующий обработчик события OnClick begin stringgrid2.Cols[0]:=stringgrid1.Cols[0]; stringgrid2.Cols[1]:=stringgrid1.Cols[3]; stringgrid2.Cols[2]:=stringgrid1.Cols[2]; stringgrid2.Cols[3]:=stringgrid1.Cols[1]; stringgrid2.Cols[4]:=stringgrid1.Cols[4]; end; 5.6 Активизировать кнопку Clear для очистки второй таблицы..Создать следующий обработчик события OnClick. var i,j:integer; begin for i:=0 to 4 do for j:=0 to 4 do StringGrid2.Cells[j,i]:=' '; 5.7 Активизировать кнопку Close, как в предыдущих заданиях. 5.8 Сохранить проект в папке StringGrid: File – Save All. Запустить проект на выполнение. Рис.5,1 Расположение компонентов StringGrid2 и Button1 на форме
Полный текст модуля Unit1.pas; unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; StringGrid2: TStringGrid; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,j:integer; begin for j:=0 to 4 do if (j<>1)and (j<>3) then for i:=0 to 4 do StringGrid2.Cells[j,i]:=StringGrid1.Cells[j,i]; for i:=0 to 4 do begin StringGrid2.Cells[1,i]:=StringGrid1.Cells[3,i]; StringGrid2.Cells[3,i]:=StringGrid1.Cells[1,i]; end; end; procedure TForm1.Button4Click(Sender: TObject); var i,j:integer; begin for i:=0 to 4 do for j:=0 to 4 do StringGrid2.Cells[j,i]:=' '; end; procedure TForm1.Button3Click(Sender: TObject); begin stringgrid2.Cols[0]:=stringgrid1.Cols[0]; stringgrid2.Cols[1]:=stringgrid1.Cols[3]; stringgrid2.Cols[2]:=stringgrid1.Cols[2]; stringgrid2.Cols[3]:=stringgrid1.Cols[1]; stringgrid2.Cols[4]:=stringgrid1.Cols[4]; end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end.
Задание к лабораторной работе 4
Задание 1 1-10 варианты выполняют вариант 1, 11-20 – вариант 2, 21-30 – вариант 3.
Задание 2
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|