
{ Draws two lines across the bottom of the screen with a blank line between
  them.  Use with the Write_Status procedure below to put messages in or get
  input from a status line. }

Procedure Draw_Status_Border;
  Begin
    LowVideo;
    GotoXY(1,22); Write(' ==============================================================================');
    GotoXY(1,24); Write(' ==============================================================================');
    NormVideo;
  End;

{ Rings bell and writes the passed string centered on line 23.  Use with the
  procedure above. }

Procedure Write_Status (Prompt : Str100);
  Var
    Margin    : Integer;
    Position  : Integer;
  Begin
    Cursor_Off; LowVideo;
    Margin := ((80-length(Prompt)) div 2);
    While Pos('{',Prompt) <> 0 Do
    Begin
      Position := Pos('{', Prompt);
      Delete(Prompt,Position,1);
      Insert(ESC+'(',Prompt,Position)
    End;
    While Pos('}',Prompt) <> 0 Do
    Begin
      Position := Pos('}',Prompt);
      Delete(Prompt,Position,1);
      Insert(' ',Prompt,1);
      Insert(ESC + ')',Prompt,Position + 1)
    End;
    GotoXY(1,23); ClrEol;
    GotoXY(Margin,23); Write(BEL,Prompt);
    NormVideo
  End;
