- •Объектно-ориентированный подход
- •Val(Edit1.Text,k,sig);
- •Val(Edit2.Text,l,sig);
- •I,j :byte;
- •I,j :integer;
- •Inherited Create (Ni,Nj);
- •Val(Edit1.Text, p, sig1);
- •Val(Edit2.Text, q, sig2);
- •Val(Edit3.Text, r, sig3);
- •Vas :real;
- •Val(Edit4.Text,n,sig);
- •Тестирование и отладка приложений
- •Виды ошибок
- •Отладочные средства Delphi
- •Составление тестов
- •Решение задач обработки данных в Delphi
- •Проектирование структуры файлов
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.