Процедура рисования рамки — Pascal(Паскаль)

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.

Leave a Comment

− 3 = 6