Группа радиокнопок (класс 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!