Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
100
Добавлен:
04.03.2014
Размер:
235.01 Кб
Скачать

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;

Соседние файлы в папке Методичка С++