program frame;
uses Crt;
procedure Frm(l:integer; t:integer; w:integer; h:integer);
{ (l,t) - координаты верхнего левого угла,
w - ширина рамки,
h - высота рамки }
var
x,y:integer;
i:integer;
c1,c2,c3,c4,c5,c6:char;{ символы,из которых рисуется рамка }
begin
c1:=chr(218); { символ верхнего левого угла }
{ функция chr возвращает символ, номер которого }
{ указан при вызове функции }
c2:=chr(196); { символ горизонтальной линейки }
c3:=chr(191); { символ правого верхнего угла }
c4:=chr(179); { символ вертикальной линейки }
c5:=chr(192); { символ левого нижнего угла }
c6:=chr(217); { символ правого нижнего угла }
GoToXY(l,t);
write(c1);
for i:=1 to w-2 do { символы верхней границы рамки }
write(c2);
write(c3);
y:=t+1;
x:=l+w-1;
for i:=1 to h-2 do{символы левой и правой границ }
begin
GoToXY(l,y);
write(c4);
GoToXY(x,y);
write(c4);
y:=y+1;
end;
GoToXY(l,y);
write(c5);
for i:=1 to w-2 do { символы нижней границы }
write(c2);
write(c6);
end;
begin
Frm(2,2,15,10);
end.