home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / zen / zindent / zinscr.inc < prev    next >
Encoding:
Text File  |  1987-03-30  |  3.9 KB  |  155 lines

  1.  
  2.  
  3. (*****************************************************)
  4. (*                                                   *)
  5. (* Include File                                      *)
  6. (* SYSSCR.INC, v. 0300pm, mon, 30.Mar.87, Glen Ellis *)
  7. (*                                                   *)
  8. (*****************************************************)
  9.  
  10.  
  11. (* SysCpuSpeed is assigned to match MegaHertz Clock Speed *)
  12.  
  13. (* Procedure ********************************************************)
  14. (* Delay 1000, v. 0600am, fri, 27.Mar.87, Glen Ellis            *)
  15. procedure pDelay1;
  16. begin
  17.    delay(4000 div SysCpuSpeed );
  18. end;
  19.  
  20.  
  21. (* Procedure ********************************************************)
  22. (* Delay 2000, v. 0600am, fri, 27.Mar.87, Glen Ellis            *)
  23. procedure pDelay2;
  24. begin
  25.    delay(8000 div SysCpuSpeed );
  26. end;
  27.  
  28.  
  29. (* Procedure ********************************************************)
  30. (* Delay 4000, v. 0600am, fri, 27.Mar.87, Glen Ellis            *)
  31. procedure pDelay4;
  32. begin
  33.    delay(16000 div SysCpuSpeed );
  34. end;
  35.  
  36.  
  37. (* Procedure ********************************************************)
  38. (* Delay 8000, v. 0600am, fri, 27.Mar.87, Glen Ellis            *)
  39. procedure pDelay8;
  40. begin
  41.    delay(32000 div SysCpuSpeed );
  42. end;
  43.  
  44.  
  45. (* Procedure ********************************************************)
  46. (* ClearScreen, v. 0701am, sun, 31.Aug.86, Glen Ellis               *)
  47. procedure pClearScreen;
  48. var  X : nbr;
  49. begin
  50.    for x := 1 to 23 do writeln; (* for Apple/CPM Sider system *)
  51. end;
  52.  
  53.  
  54. (* Procedure *******************************************************)
  55. (* ReadCR,     v. 0730am, sat, 30.Aug.86, Glen Ellis              *)
  56. procedure pReadCR;
  57. var  CH : char;
  58. begin
  59.    While KeyPressed
  60.       do Read(Kbd,Ch); (* Flush input buffer *)
  61.    Read(Kbd,Ch);
  62.    If Ch=^[ Then Halt;
  63. end;
  64.  
  65.  
  66.  
  67. (* Procedure ********************************************************)
  68. (* KeyPressed,     v. 0700am, thu, 21.Aug.86, Glen Ellis            *)
  69. procedure pKeyPressed;
  70. Var  Ch: Char;
  71. begin (* proc *)
  72.    While KeyPressed Do Read(Kbd,Ch); (* Flush input buffer *)
  73.    Write('<CR> to continue or <ESC> to abort: ');
  74.    Read(Kbd,Ch);
  75.    WriteLn;
  76.    If Ch=^[ Then Halt;
  77. end; (* proc *)
  78.  
  79.  
  80.  
  81. (* Procedure ********************************************************)
  82. (* UserInterrupt,  v. 0700pm, sun, 14.Sep.86, Glen Ellis *)
  83. procedure XUserInterrupt;
  84. (* not tested , just quick idea *)
  85. Var  Ch: Char;
  86. begin (* proc *)
  87.    While KeyPressed Do Read(Kbd,Ch); (* Flush input buffer *)
  88.    Read(kbd,ch);
  89.    If Ch=^[ Then Halt;
  90. end; (* proc *)
  91.  
  92.  
  93.  
  94. (* Procedure ************************************************************)
  95. (* Write Screen Wait,   v. 0701am, sun, 31.Aug.86, Glen Ellis           *)
  96. procedure pWriteScreenWait( line : THEstr );
  97. begin
  98.    writeln(line);
  99.    pKeyPressed;
  100. end;
  101.  
  102.  
  103.  
  104. (* Procedure ********************************************************)
  105. (* Header Draw Box,     v. 0700am, thu, 21.Aug.86, Glen Ellis       *)
  106. procedure  pHEADERDRAWBOX(x1,y1,x2,y2 : nbr) ;
  107. var i : nbr ;
  108. begin
  109.    gotoxy(x1,y1) ;
  110.    for i := x1 to x2 do write('-') ;
  111.    for i := y1+1 to y2 do
  112.    begin
  113.       gotoxy(x1,i) ; write('!') ;
  114.       gotoxy(x2,i) ; write('!') ;
  115.    end ;
  116.    gotoxy(x1,y2) ;
  117.    for i := x1 to x2 do write('-') ;
  118. end ;
  119.  
  120.  
  121.  
  122. (* Procedure ********************************************************)
  123. (* Say Header, v. 0700am, thu, 21.Aug.86, Glen Ellis                *)
  124.  
  125. procedure pSayHeader;
  126.  
  127. (* uses system var:( title, version1, version2, credit )
  128. (* display only.
  129. *)
  130. var
  131. x : nbr;
  132.  
  133. begin (* proc *)
  134.  
  135.    pClearScreen;
  136.  
  137.    (* outline program header *)
  138.    for x := 1 to 2 do pHEADERDRAWBOX(1+x,1+x,80-x,12-x) ;
  139.  
  140.    gotoxy(7,5);
  141.    writeln(SysTitle);
  142.    gotoxy(7,6);
  143.    writeln(SysVersion1);
  144.    gotoxy(7,7);
  145.    writeln(SysVersion2);
  146.    gotoxy(7,8);
  147.    writeln(SysCredit);
  148.    gotoxy(0,12);
  149.    writeln; writeln;
  150. end; (* proc *)
  151.  
  152.  
  153.  
  154. (********************************************************************)
  155.  
  156. (*<<<>>>*)