Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Jarg050901.DOC
Скачиваний:
11
Добавлен:
31.03.2015
Размер:
110.59 Кб
Скачать

I,j :integer;

Constructor Create (Ni,Nj :integer);

{При работе с классами конструктор обязателен }

{его имя–дань традициям}

Function Geti :integer;

Function Getj :integer;

End;

Teine=Class(Esimene)

{ Esimene –имя класса – предшественника}

K :integer;

Constructor Create(Ni,Nj,Nk :integer);

Procedure Matem(var res :real);

End;

Implementation {Далее следуют тексты методов}

Constructor Esimene.Create(Ni,Nj: integer);

Begin

i:=Ni;

j:=Nj;

End;

Function Esimene.Geti :integer;

Begin

Geti:=i;

End;

Function Esimene.Getj :integer;

Begin

Result:=j;

End;

Constructor Teine.Create(Ni,Nj,Nk :integer);

Begin

Inherited Create (Ni,Nj);

{Конструктор класса – наследника должен инициализировать}

{и переменные класса предшественника, путем вызова }

{его конструктора }

k:=Nk;

End;

Procedure Teine.Matem(var res :real);

Begin

res:=(i+j)/k; {Простейшее вычисления, только для иллюстрации }

End;

end.

Модуль формы

var

Form1: TForm1; {Вставит Delphi}

Dan : Tlist; {Будет создан список объектов; описание TList см. выше}

MyObj:Teine; {Обявим объект MyObj классаTeine}

implementation

procedure TForm1.Button3Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.FormCreate(Sender: TObject);

{Выполняется при запуске приложения, см. п.2.4.2}

begin

Dan:=TList.Create;

Dan.Capacity:=10;

end;

procedure TForm1.Button1Click(Sender: TObject);

{Реализация кнопки “Ввод исходных данных”}

Var

p,q,r,sig1,sig2,sig3 :integer;

begin

Val(Edit1.Text, p, sig1);

Val(Edit2.Text, q, sig2);

Val(Edit3.Text, r, sig3);

if (sig1+sig2+sig3)<>0 then

ShowMessage('Надо ввести целые числа')

else

begin

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Dan.Add (Teine.Create(p,q,r));

{Создается очередной объект, для этого вызывается}

{ конструктор Create класса Teine}

{указатель на созданный объект будет добавлен в список Dan типаTList}

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

{Реализация кнопки “Вычисляй”}

Var

sig,n :integer;

Vas :real;

MyRes :Teine;

s6 :string;

begin

Val(Edit4.Text,n,sig);

if sig<>0 then

ShowMessage('Введите целое число')

else

begin

if n>Dan.Count then

ShowMessage('Заданное число не должно быть больше '+IntToStr(Dan.Count))

else

begin

{Извлекаем из списка объект по заданному номеру,}

{ номера начинаются с нуля}

MyRes:=Dan.Items[n-1];

MyRes.Matem(vas);

{MyRes – указатель на i-й объект }

str(vas:6:2,s6);

Edit5.Text:=s6;

end;

end;

end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]