- •Аннотация.
- •Введение.
- •Средства объектно-ориентированного программирования. . Определение объекта. Компоненты: поля и методы.
- •. Определение экземпляров объектов. Операция присваивания над объектами. Обращение к компонентам объекта из программы и методов. Неявный параметр 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;
Inp.Init(bx1,by1,bx2,by2,battr,bxt,byt,'');
end;
Procedure TInput.Clear;
begin Inp.text:='';
Inp.Draw;
End;
Procedure TInput.Input;
Begin Window(Inp.x1,Inp.y1,Inp.x2,Inp.y2);
TextBackGround(Inp.attr div 16);
TextColor(Inp.attr mod 16);
repeat
Gotoxy(Inp.xt,Inp.yt);
Clear;
Readln(Inp.text);
Gotoxy(Inp.xt,Inp.yt);
Write(Inp.text);
until not Error;
end;
Function TInput.Error:boolean;
begin Error:=false; end;
Procedure TInput.Draw;
Begin TWin.Draw;
Inp.Draw;
End;
{ *************** Окно сообщения *****************}
Constructor TMessage.Init;
Begin TWin.Init(ax1,ay1,ax2,ay2,aattr,axt,ayt,atext);
Ok.Init(bx1,by1,bx2,by2,battr,bxt,byt,btext);
End;
Procedure TMessage.Run;
Var ch1,ch2:char;
temp:integer;
Begin Ok.setattr(91);
ch1:=readkey;
Enter;
End;
Procedure TMessage.Enter;
Begin end;
Procedure TMessage.Show;
Begin
TWin.Draw;
Ok.Draw
end;
{ ***************** Окно меню ********************}
Constructor TMenu.Init;
Var w:array[1..10] of TWin absolute p;
i:integer;
Begin TWin.Init(ax1,ay1,ax2,ay2,aattr,axt,ayt,atext);
nalt:=n;
for i:=1 to nalt do
masalt[i].Init(w[i].x1,w[i].y1,w[i].x2,w[i].y2,
w[i].attr,w[i].xt,w[i].yt,w[i].text);
End;
Procedure TMenu.Show;
Var i:integer;
Begin Window(1,1,80,25); { очищаем экран}
TextBackGround(0);
TextColor(1);
Clrscr;
TWin.Draw;
for i:=1 to nalt do masalt[i].Draw;
End;
Procedure TMenu.Run;
Var ch1,ch2:char;
temp:integer;
Begin npos:=nalt;
repeat
masalt[npos].Setattr(71);
ch1:=Readkey; {читаем код клавиши}
if ch1=#0 then ch2:=Readkey;
case ch1 of
#0:case ch2 of
#75:begin temp:=npos-1; {влево}
if temp=0 then temp:=nalt; {закольцовываем}
masalt[npos].Setattr(113); {убрать выделение}
masalt[temp].Setattr(71); {выделить пункт}
npos:=temp;
end;
#77:begin temp:=npos+1; {вправо}
if temp=nalt+1 then temp:=1; {закольцовываем}
masalt[npos].Setattr(113); {убрать выделение}
masalt[temp].Setattr(71); {выделить пункт}
npos:=temp;
end;
end;
#13:Enter; {Enter}
end
until((npos=nalt)and(ch1=#13))or(ch1=#27);
Window(1,1,80,25); {возвращаем стандартный режим}
TextBackGround(0);
TextColor(7);
Clrscr;
End;
Procedure TMenu.Enter;
Begin end;
{ ****************** Окно формы *******************}
Constructor TForm.Init;