Группа радиокнопок (класс TRadioGroup).
Компонент представляет собой группу «радиокнопок».
Свойства:
Items -названия кнопок.
ItemIndex- номер выбранной кнопки.
Columns -определяет размещение кнопок в один или два столбца.
Панель (класс TPanel).
Компонент представляет собой панель для размещения инструментов.
Массивы
Как известно, в программировании широко используется структурный тип данных – массив.
Пример:для демонстрации особенностей ввода-вывода элементов массива создадим приложение «Ввод-вывод элементов вектора и матрицы».
Приложение должно обеспечить:
- ввод-вывод элементов вектора, контроль вводимой размерности вектора, контроль правильности ввода самих элементов и подсчет их суммы;
-ввод-вывод элементов матрицы, контроль вводимых количеств строк и столбцов, контроль правильности ввода самих элементов матрицы и транспонирование матрицы (замену строк на столбцы).
type TVector = Array[1..10] of string[1];
var x1,x2:TVector;
procedure TForm1.Button1Click(Sender: TObject);
var i,k:byte;
begin
i:=0 ;
repeat
i:=i+1;
x1[i]:=Memo1.Lines[i];
until (x1[i]='') or (i>10);
k:=i-1;
for i:=1 to k do
begin
if x1[i]<>'a' then x2[i]:='1'
else x2[i]:='2';
Memo2.Lines.Add( x2[i]);
end;
end;
Ввод массива StringGrid
Свойства
ColCont - количество колонок таблицы
RowCount – количество строк таблицы
Cells – соответствующий таблице двумерный массив
Options.goEditing - true – разрешено редактирование
. goTab – использование клавиши Tab
|
|
DefaultColWidth – ширина колонок
DefaultRowHeight – высота строк
Font – шрифт
FixedCols – фиксированные столбцы
Fixed Rows – фиксированная строка
Пример Вычисление суммы элементов массива
Ответ в окне
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Tab1: TStringGrid;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Type TMas = Array [0..14,0..14] of real;
var s:real; A:TMas; i,j:byte;
begin
s:=0;
for i:= 1 to Tab1.RowCount-1 do
For J:=1 to Tab1.ColCount-1 do
begin
A[i,j]:= strToFloat(Tab1.Cells[i,j]);
s:=s+A[i,j];
ShowMessage ('sum='+floatToStr(s)); {контрольная печать}
end;
ShowMessage ('sum='+floatToStr(s));
end;
end.
Пример2 Электронная таблица
Количество строк столбцов = 5
Первый индекс – столбец
Второй - строка
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Tab1: TStringGrid;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
|
|
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Type TMas = Array [0..14,0..14] of real;
var s:real; A:TMas; i,j:byte;
begin
for j:= 1 to Tab1.RowCount-1 do
begin s:=0;
For i:=1 to Tab1.ColCount-2 do
begin
A[i,j]:= strToFloat(Tab1.Cells[i,j]);
s:=s+A[i,j];
end;
Tab1.Cells[Tab1.ColCount-1,j]:=floatToStr(s/3);
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
tab1.Cells[0,0]:='фамилия';
tab1.Cells[1,0]:='математика';
tab1.Cells[2,0]:='физика';
tab1.Cells[3,0]:='информатика';
tab1.Cells[4,0]:='средний балл';
end;
end.
1. Задача Даны не более 20 слов. Найти слово, которое наиболее близко к заданному (число совпадающих букв, начиная с первой максимальное) .
Пример: книги книголюб кнопка
Слово книговед Ответ книголюб
Дата добавления: 2018-05-02; просмотров: 137; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!