home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / MADTRB7.ZIP / SETCURSR.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1985-03-08  |  1.3 KB  |  67 lines

  1. Program Set_To_Box;
  2.  
  3. Type
  4.         BIOS_Call = Record
  5.                       AX, BX, CX, DX, BP, SI, DS, ES, Flags : Integer;
  6.                     End;
  7.  
  8.         XFer_Area = Record
  9.                       Case Boolean of
  10.                         True : (Lo, Hi : Byte);
  11.                         False : (I : Integer);
  12.  
  13.                     End;
  14.  
  15. Var  BIOS_Rec : BIOS_Call;
  16.      XFer_Rec : XFer_Area;
  17.      Upper, Lower : Byte;
  18.      Ch : Char;
  19.      I : Integer;
  20.      Done : Boolean;
  21.  
  22. Procedure Doittoit;
  23. Begin
  24.   Xfer_Rec.Lo := 0;
  25.   XFer_Rec.Hi := 1;
  26.   BIOS_Rec.AX := XFer_Rec.I;
  27.   XFer_Rec.Lo := Upper;
  28.   XFer_Rec.Hi := Lower;
  29.   BIOS_Rec.CX := XFer_Rec.I;
  30.   Intr(16,BIOS_Rec);
  31. End;
  32.  
  33. Procedure Menu;
  34. Begin
  35.   ClrSCR;
  36.   Writeln('1 = Top half Box');
  37.   Writeln(' ');
  38.   Writeln('2 = Bottom half Box');
  39.   Writeln(' ');
  40.   Writeln('3 = Full Box');
  41.   Writeln(' ');
  42.   Writeln('4 = Normal');
  43.   Writeln(' ');
  44. End;
  45.  
  46. Begin
  47.   Done := False;
  48.   Repeat
  49.   Menu;
  50.   Read(Kbd,Ch);
  51.   I := Ord(Ch) - 48;
  52.  
  53.  
  54.   Case I of
  55.     1 : Begin
  56.           Upper := 7;
  57.           Lower := 0;
  58.           Doittoit;
  59.           Halt;
  60.         End;
  61.     2 : Begin Upper := 13; Lower := 7; Doittoit; Halt; End;
  62.     3 : Begin Upper := 13; Lower := 0; Doittoit; Halt; End;
  63.     4 : Begin Upper := 13; Lower := 12; Doittoit;Halt; End;
  64.   End;
  65.       Until Done;
  66. End.
  67.