Відображення даних у табличній формі

Для введення і виведення масиву ми використовували багаторядкове поле memo.
Але оскільки масиви призначені для роботи з таличними величинами, то для більшої наочності бажано відображати масив у вигляді таблиці.

Використання компонента StringGrid

Компонент StringGrid (вкладка Additional) призначений для виведення різних даних у табличній формі. Як випливає з назви, клітинки компонента StringGrid можуть містити дані типу String. Таблиця StringGrid може складатися із зафіксованих клітинок-заголовків FixedCols і FixedRows, виділених сірим кольором, і звичайних клітинок білого кольору (рис. 35.1). Звернення до клітинки таблиці, що знаходиться на перетині стовпця з номером col і рядка з номером row, має вигляд StringGrid1.Cells[col, row]

!!! Нумерація стовпців (col) і рядків (row) починається з нуля.

Розглянемо основні властивості компонента StringGrid, які можна налаштувати на вкладенці
Properties
  • RowCount           загальна кількість рядків
  • ColCount             загальнa кількість стовпців 
  • FixedRows          кількість зафіксованих (сірих) рядків 
  • FixedCols            кількість зафіксованих (сірих) стовпців 
  • Cells                    містить таблицю значень 
  • DefaultColWidth Визначає ширину стовпця таблиці в пікселях 
  • DefaultRowHeight Визначає висоту рядка таблиці в пікселях
Приклад1
      Hалаштування вигляду елемента StringGrid
Виведення зафіксованого рядка з індексами елементів масиву не є обов’язковим, але буває дуже корисним під час аналізу роботи програми. Вміст зафіксованих клітинок змінюється тільки програмним способом, зазвичай у процедурі обробки події OnCreate для форми: 

var i: Integer; 
begin // нумерація стовпців і рядків починається з нуля 
For i := 1 to 6 do StringGrid1.Cells[i – 1, 0] := IntToStr(i);

Цей модуль краще зберегти як окремий проект для використання в якості шаблону.

Приклад2
Заповнення масива випадковими числами від 0 до 19
var a: array[1..6] of Integer; 
i: Integer; begin 
Randomize; 
For i := 1 to 6 do begin a[i] := Random(20); 
 StringGrid1.Cells[i – 1, 1] := IntToStr(a[i]); 
end;

Очистити вміст таблиці:StringGrid1.Rows[1].Clear; 

Приклад3
Заповнити таблицю з клавіатури і знайти середнє арифметичне елементів масиву 

var a: array[1..6] of Integer;
sum: Integer; //
сума елементів
sr: Real; // середнє арифметичне
i: Integer; // індекс
begin // введення масиву
For i := 1 to 6 do
If
Length(StringGrid1.Cells[i – 1, 1]) <> 0 
Then a[i] := StrToInt(StringGrid1.Cells[i – 1, 1]) Else a[i] := 0;
{
опрацювання масиву }
sum := 0;
For i := 1 to 6 do sum := sum + a[i];
sr := sum / 6;
Label2.Caption :=
Сума елементів: + IntToStr(sum) + LineEnding +Середнє арифметичне: + FloatToStr(sr);  { LineEnding — константа, що позначає кінець рядка }
end;

  Практичне завдання:
1. Складіть програму, яка міняє місцями перший і найбільший елементи послідовності з 10 чисел. 
Складіть програму мовою Lazarus або Delphi.
Змініть заголовок форми на "Задача 1. Прізвище ім'я учня"
Зніміть копію з екрана програмного модуля і результатів роботи на формі. В ідправьте їх на електронну адресу  lgskuratovska@gmail.com 

2. Виконайте  тестове завдання 35 з  автоматичною перевіркою на сайті
interactive.ranok.com.ua
Результат у вигляді pdf-файла надішліть на електронну адресу  lgskuratovska@gmail.com





Комментариев нет:

Отправить комментарий