Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Настроювання компонента TSstringGrid
Для установки компонента TStringGrid на форму, необхідно на сторінці Additional меню компонентів клацнути мишею по піктограмі. Після цього клацніть мишею в потрібному місці форми. Захоплюючи краї компонента, відрегулюйте його розмір. В інспекторі об'єктів значення властивостей ColCount і RowCount встановіть 2, а FixedCols і FixedRows встановіть 1. Тому що компоненти StringGrid2 і StringGrid3 мають тільки один стовпчик, то в них: ColCount=1, RowCount=2, FixedCols=0 і FixedRows=1. За замовчуванням у компонент TStringGrid заборонене введення інформації з клавіатури, тому необхідно властивість Options goEditing для компонентів StringGrid1 і StringGrid2 встановити в положення True. Текст програми приведений нижче.
Unit Lab4; Interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids; type TInputForm = class(TForm) StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; Label1: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; Procedure FormCreate(Sender: TObject); Procedure Button1Click(Sender: TObject); Procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
const Nmax = 10; // Максимальна розмірність масиву type Mas1 = array[1..Nmax] of Extended; //Оголошення типу одномірного масиву Mas2 = array[1..Nmax, 1..Nmax] of Extended; //Оголошення типу двовимірного масиву var InputForm: TInputForm; A: Mas2; // Оголошення двовимірного масиву B, Y: Mas1; // Оголошення одномірних масивів N, i, j: integer;
Implementation {$R *.DFM}
Procedure TInputForm.FormCreate(Sender: TObject); begin N: = 3; //Розмірність масиву Edit1.Text: = FloatToStr(N); //Завдання числа рядків і стовпчиків StringGrid1.ColCount: = N + 1; StringGrid1.RowCount: = N + 1; StringGrid2.RowCount: = N + 1; StringGrid3.RowCount: = N + 1; //Введення в ліву верхню комірчину таблиці назви масиву StringGrid1.Cells[0, 0]: = 'Масив А'; StringGrid2.Cells[0, 0]: = 'Масив В'; StringGrid3.Cells[0, 0]: = 'Масив У'; //Заповнення верхнього і лівого стовпчиків підписами, що пояснюють for i: =1 to N do begin StringGrid1.Cells[0, i]: = 'i='+ IntToStr(i); StringGrid1.Cells[i, 0]: = 'j='+ IntToStr(i); end; end;
Procedure TInputForm.Button1Click(Sender: TObject); begin N: = StrToInt(Edit1.Text); //Завдання числа рядків і стовпчиків у таблицях StringGrid1.ColCount: = N + 1; StringGrid1.RowCount: = N + 1; StringGrid2.RowCount: = N + 1; StringGrid3.RowCount: = N + 1; //Заповнення верхнього і лівого стовпчиків підписами, що пояснюють for i: =1 to N do begin StringGrid1.Cells[0, i]: = 'i=' + IntToStr(i); StringGrid1.Cells[i, 0]: = 'j=' + IntToStr(i); end; end;
Procedure TInputForm.Button2Click(Sender: TObject); var s: extended; begin //Заповнення масиву A елементами з тавлиці StringGrid1 for i: =1 to N do for j: =1 to N do A[i, j]: = StrToFloat(StringGrid1.Cells[j, i]); //Заповнення масиву B елементами з тавлиці StringGrid2 for і: =1 to N do B[і]: = StrToFloat(StringGrid2.Cells[0, і]); // Множення масиву A на масив B for i: =1 to N do begin s: = 0; for j: =1 to N do s: = s + A[i, j]*B[j]; Y[i]: = s; //Виведення результату в таблицю StringGrid3 StringGrid3.Cells[0, i]: = FloatToStrF(Y[i], ffFixed, 6, 2); end; end; end.
|