Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лабораторная работа 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.

  1. В задании «Звездное небо» изменяя функцию, получить разные узоры.
  2. Используя компонент DrawGrid, вывести мерцающую надпись.
  3. Используя компонент DrawGrid, создать фейерверк.

Задание 2

  1. Дан массив данных о работающих в фирме: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год).во второй массив записать только данные тех из них, кто на сегодняшний день проработал уже не менее 5 лет.
  2. Дан массив данных о клиентах пункта проката: фамилия, имя отчество, адрес (улица, дом, квартира) и что взял (только один предмет). Во второй массив записать только данные тех их них, кто взял телевизор.
  3. Дан массив данных о работающих на фабрике.6 фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Определить, есть ил в списке Ивановы (Иванов, Иванова), если есть, то вывести их адрес (адреса).
  4. Дан массив данных о сотрудниках предприятия: фамилия, имя, адрес (улица, дом, квартира), отдел. Вывести все данные о сотрудниках данного отдела. Также вывести фамилию сотрудников данного отдела, живущих на улице Белинского.
  5. Дан массив, в котором хранятся данные о расписании поездов: номер поезда, название (откуда-куда, например, Орел-Курск), время прибытия на станцию, время отправления (часы, минуты). Будем считать, что все поезда приходят каждый день. По данному времени определить, какие из поездов стоят сейчас на станции (время вводить с клавиатуры).
  6. Дан массив, в котором хранятся данные о полете самолетов: название пункта назначения рейса, номер рейса, тип самолета. Вывести на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры. Если таких рейсов нет, выдать не дисплей соответствующее сообщение.
  7. Дан массив, в котором хранятся сведения о товарах: название товара, название магазина, в котором продается товар, стоимость товара в тенге. Вывести на экран информацию о товарах, продающихся в магазине, название которого введено с клавиатуры. Если такого магазина нет, выдать соответствующее сообщение.
  8. Дан массив, в котором хранятся сведения о плательщиках и получателях: расчетный счет плательщика, имя плательщика, расчетный счет получателя, имя получателя, перечисляемая сумма. Вывести на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры. Если такого расчетного счета нет, выдать соответствующее сообщение.
  9. Даны сведения: фамилия, имя, знак зодиака, дата рождения (массив из трех чисел). Вывести информацию о человеке, чья фамилия введена с клавиатуры.
  10. Даны сведения: фамилия, имя, знак зодиака, дата рождения (массив из трех чисел). Вывести информацию о людях, родившихся под знаком, название которого введено с клавиатуры.
  11. Даны сведения: фамилия, имя, знак зодиака, дата рождения (массив из трех чисел). Вывести информацию о людях, родившихся в месяц, название которого введено с клавиатуры.
  12. Дан массив, в котором хранятся сведения о товарах: название товара, название магазина, в котором продается товар, стоимость товара в тенге. Вывести на экран информацию о товаре, название которого введено с клавиатуры. Если таких товаров нет, выдать соответствующее сообщение.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...