"Ramka" w trybie tekstowym - Turbo Pascal

0

Muszę zrobić ramkę w trybie tekstowym w okienku. Niestety za każdym razem, gdy program jest na ostatnim znaku przechodzi do następnej linii i górne obramowanie znika. A ja chciałbym, żeby ramka była zupełnie na krawędzi. Macie jakiś pomysł?

[IMG]http://www.gry-online.pl/Galeria/Forum/1/349123462.JPG[/IMG]

0
program Testowy;

uses crt;

type
  monitor = array[1..25, 1..80] of record
                                     znak: byte;
                                     attr: byte;
                                   end;

var
  i, j: Integer;
  ekran: ^monitor;
  kolor:  monitor absolute $b800:0;
  mono :  monitor absolute $b000:0;

procedure Ramka(y1,x1,y2,x2: Integer; atrybut: Byte);
begin
  ekran^[y1,x1].znak:= 201;
  ekran^[y1,x1].attr:= atrybut;
  ekran^[y1,x2].znak:= 187;
  ekran^[y1,x2].attr:= atrybut;
  ekran^[y2,x1].znak:= 200;
  ekran^[y2,x1].attr:= atrybut;
  ekran^[y2,x2].znak:= 188;
  ekran^[y2,x2].attr:= atrybut;
  for i:=x1+1 to x2-1 do begin
     ekran^[y1,i].znak:= 205;
     ekran^[y1,i].attr:= atrybut;
     ekran^[y2,i].znak:= 205;
     ekran^[y2,i].attr:= atrybut;
   end;
  for i:=y1+1 to y2-1 do begin
     ekran^[i,x1].znak:= 186;
     ekran^[i,x1].attr:= atrybut;
     ekran^[i,x2].znak:= 186;
     ekran^[i,x2].attr:= atrybut;
  end;
end;

begin
  clrscr;
  if Mem[$40:$49] = 7 then ekran:= @mono
  else ekran:= @kolor;
  Ramka(1,1,25,80,2);
  readln;
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1