ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Создание процедур обработки событий SpinEdit1Change и SpinEdit2ChangeСобытия SpinEdit1Change и SpinEdit2Change возникают при любом изменении значения в поле редактора SpinEdit1 и SpinEdit2 соответственно. Создадим процедуры обработки этих событий, в которых присвоим значения n и m, полученные из полей редакторов SpinEdit, свойствам ColCount и RowCount компонентов StringGrid. Это позволит управлять размерами таблиц StringGrid с помощью компонентов SpinEdit без дополнительных кнопок, так как изменение значений в поле редактора SpinEdit сразу приведет к изменению размера таблиц StringGrid. Дважды щелкните “мышью” на компоненте SpinEdit1 – курсор установится в тексте процедуры-обработчика события SpinEdit1Change: procedure TForm1.SpinEdit1Change(Sender: TObject). Внимательно наберите операторы этой процедуры, используя текст модуля UnMas(см. п.4.1.3). Аналогичным образом создайте процедуру-обработчик события SpinEdit2Change: procedure TForm1.SpinEdit2Change(Sender: TObject). Текст модуля UnMas Unit UnMas; Interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, Grids;
Type TForm1 = class(TForm) Label1: TLabel; SpinEdit1: TSpinEdit; SpinEdit2: TSpinEdit; Label8: TLabel; StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; SpinEdit3: TSpinEdit; SpinEdit4: TSpinEdit; Label6: TLabel; Label7: TLabel; Button1: TButton; procedure FormCreate(Sender: TObject); procedure SpinEdit1Change(Sender: TObject); procedure SpinEdit2Change(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } End; Var Form1: TForm1; Implementation {$R *.DFM} Var A:array[1..6,1..8] of extended;// объявление двумерного массива A X:array[1..8] of extended; // объявление одномерного массива X Y:array[1..6] of extended; // объявление одномерного массива Y n,m,p,q:integer; // объявление глобальных переменных procedure TForm1.FormCreate(Sender: TObject); Begin SpinEdit1.Text:=' 4 '; // начальное значение n SpinEdit2.Text:=' 6 '; // начальное значение m SpinEdit3.Text:=' 2 '; // начальное значение p SpinEdit4.Text:=' 3 '; // начальное значение q StringGrid1.RowCount:=4; // количество строк массива A StringGrid1.ColCount:=6; // количество столбцов массива A StringGrid2.RowCount:=6; // количество строк массива X StringGrid3.RowCount:=4; // количество строк массива Y End; procedure TForm1.SpinEdit1Change(Sender: TObject); Begin n:=StrToInt(SpinEdit1.Text);// n присваивается содержимое поля редактора StringGrid1.RowCount:=n; // устанавливается количество строк массива A StringGrid3.RowCount:=n; // устанавливается количество строк массива Y End; procedure TForm1.SpinEdit2Change(Sender: TObject); Begin m:=StrToInt(SpinEdit2.Text);// m присваивается содержимое поля редактора StringGrid1.ColCount:=m; // устанавливается количество столбцов массива A StringGrid2.RowCount:=m; // устанавливается количество строк массива X End; procedure TForm1.Button1Click(Sender: TObject); Var i,j:integer; // объявление локальных переменных Begin n:=StrToInt(SpinEdit1.Text); StringGrid1.RowCount:=n; StringGrid3.RowCount:=n; m:=StrToInt(SpinEdit2.Text); StringGrid1.ColCount:=m; StringGrid2.RowCount:=m; p:=StrToInt(SpinEdit3.Text); q:=StrToInt(SpinEdit4.Text); // Ввод значений из таблицы в массив A for i:=1 to n do for j:=1 to m do A[i,j]:=StrToFloat(StringGrid1.Cells[j-1,i-1]); for j:=1 to m do // формирование массива X и вывод его значений в таблицу Begin X[j]:=A[p,j]; StringGrid2.Cells[0,j-1]:=FloatToStrF(X[j],ffFixed,3,1); End; for i:=1 to n do // формирование массива Y и вывод его значений в таблицу Begin Y[i]:=A[i,q]; StringGrid3.Cells[0,i-1]:=FloatToStrF(Y[i],ffFixed,3,1); End; End; End. Не нашли, что искали? Воспользуйтесь поиском:
|