- •Аннотация.
- •Введение.
- •Средства объектно-ориентированного программирования. . Определение объекта. Компоненты: поля и методы.
- •. Определение экземпляров объектов. Операция присваивания над объектами. Обращение к компонентам объекта из программы и методов. Неявный параметр Self.
- •Var a:Troom;
- •. Инициализация полей объектов.
- •Var l,w,s:real;
- •Var l,w,s:real;
- •Var l,w,s:real;
- •. Наследование.
- •Var a:tName; b:tPenson;
- •. Полиморфизм.
- •. Раннее и позднее связывание. Виртуальные методы. Конструкторы. Определение типа объекта.
- •Var I:integer; s:real;
- •Var I:integer;
- •Var a:tRoom; b:tFlat;
- •. Динамические объекты. Деструкторы.
- •Var p:pTObj;
- •Var p:pTObj;
- •Var a:tObj;
- •Использование технологии ооп. . Использование объектов при создании новых структур данных.
- •Interface
- •Implementation
- •Var next:pElement;
- •Var n:tSpisok; k:integer;p:pNum;
- •. Использование объектов при создании меню.
- •Риc. 2. 7. Библиотечные оконные формы.
- •Interface
- •Inp.Init(bx1,by1,bx2,by2,battr,bxt,byt,'');
- •Inp.Draw;
- •Inp.Draw;
- •Var w1:array[1..10] of tWin absolute p1;
- •I:integer;
- •Var I:integer;
- •Var I:integer;
- •Var I:integer;
- •Interface
- •Implementation
- •Var k:boolean;
- •If Compare(fam) then
- •Var a:tMainMenu; b:tAddMenu; c:tOpenBase;
- •1:Begin
- •Var l:integer;
- •Inp:(x1:34;y1:8;x2:46;y2:8;attr:112;xt:1;yt:1;text:'')),
- •Inp:(x1:34;y1:10;x2:46;y2:10;attr:112;xt:1;yt:1;text:'')));
- •. Использование объектов при создании движущихся изображений.
- •Var color:word;
- •Var driver,mode:integer;
Var a:tMainMenu; b:tAddMenu; c:tOpenBase;
d:TFindMenu;e:TMyBase; h:TNotFound;
{ *********** Дополнительные методы *****************}
Procedure TMainMenu.Enter;
Begin
case npos of
1:Begin
c.draw; {нарисовать окно ввода}
c.input; {организовать ввод имени файла}
e.createopen(c.inp.text); {создать или открыть файл}
a.show; {показать главное меню}
a.may:=true; { признак задания имени файла }
end;
2:if may then { если определен файл данных }
begin
b.show; {показать форму}
b.Run; {организовать работу с локальным меню}
a.show; {показать главное меню}
end;
3:if may then { если определен файл данных }
begin
d.show; {показать форму}
d.Run; {организовать работу с локальным меню}
a.show; {показать главное меню}
end;
end;
end;
Function TOpenBase.Error;
Var l:integer;
begin l:=length(Inp.Text);
if (l>0) and (l<=8) then Error:=false
else Error:=true;
end;
Procedure TAddMenu.Enter;
Begin Case npos of
1:begin
masalt[1].setattr(113); {убрать выделение пункта меню}
input; {ввести фамилию и телефон}
e.BWrite(masinp[1].inp.text,masinp[2].inp.text);{записать}
masalt[1].setattr(71); {выделить пункт меню}
end;
2:
end;
end;
Procedure TFindMenu.input;
Begin masinp[1].Input; end;
Procedure TNotFound.Enter;
Begin d.Show; end;
Procedure TFindMenu.Enter;
Var i:integer;
Begin Case npos of
1:begin
masalt[1].Setattr(113);{убрать выделение пункта меню}
Input; {ввести фамилию}
if e.Found(masinp[1].inp.text) then
begin {показать в окне номер телефона}
masinp[2].inp.text:=e.telefon;
masinp[2].Draw;
end
else {сообщить об отсутствии данных}
begin
for i:=1 to 2 do masinp[i].inp.text:='';
h.Show; {вывести окно сообщения}
h.Run; {дождаться подтверждения}
end;
masalt[1].Setattr(71); {выделить пункт меню}
end;
2:
end;
end;
Function TMyBase.Compare;
Begin
if family=fam then Compare:=true
else Compare:=false;
end;
{ *****************Описание меню*********************}
const menu1:array[1..4] of TWin=
((x1:10;y1:14;x2:23;y2:18;attr:113;xt:3;yt:2;
text:'Создать или открыть книжку'),
(x1:26;y1:14;x2:39;y2:18;attr:113;xt:4;yt:2;
text:'Записать телефон'),
(x1:42;y1:14;x2:55;y2:18;attr:113;xt:5;yt:2;
text:'Найти телефон'),
(x1:58;y1:14;x2:71;y2:18;attr:113;xt:4;yt:2;
text:'Завершить работу'));
menu3:array[1..2] of TWin=
((x1:23;y1:18;x2:33;y2:21;attr:113;xt:2;yt:2;text:'Добавить'),
(x1:37;y1:18;x2:47;y2:21;attr:113;xt:2;yt:2;text:'Выход'));
menu4:array[1..2] of TWin=
((x1:23;y1:18;x2:33;y2:21;attr:113;xt:2;yt:2;text:'Найти'),
(x1:37;y1:18;x2:47;y2:21;attr:113;xt:2;yt:2;text:'Выход'));
input:array[1..2] of TInput=
((x1:22;y1:8;x2:32;y2:8;attr:94;xt:1;yt:1;text:'Фамилия';