home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TURBOPAS / ZINDENT5.LBR / SYSSCR.IQC / SYSSCR.INC
Text File  |  2000-06-30  |  7KB  |  221 lines

  1.  
  2. (* Include File *****************************************************)
  3. (* SYSSCR.INC, v. 0930am, sat, 20.Sep.86, Glen Ellis *)
  4.  
  5.  
  6. (* Procedure ********************************************************)
  7. (* ClearScreen, v. 0701am, sun, 31.Aug.86, Glen Ellis               *)
  8.  
  9. procedure pClearScreen;
  10.  
  11. var  X : nbr;
  12.  
  13. begin
  14.    for x := 1 to 23 do writeln; (* for Apple/CPM Sider system *)
  15. end;
  16.  
  17.  
  18. (* Procedure *******************************************************)
  19. (* ReadCR,     v. 0730am, sat, 30.Aug.86, Glen Ellis              *)
  20.  
  21. procedure pReadCR;
  22.  
  23. var  CH : char;
  24.  
  25. begin
  26.    While KeyPressed
  27.       do Read(Kbd,Ch); (* Flush input buffer *)
  28.    Read(Kbd,Ch);
  29.    If Ch=^[ Then Halt;
  30. end;
  31.  
  32.  
  33. (* Procedure ********************************************************)
  34. (* KeyPressed,     v. 0700am, thu, 21.Aug.86, Glen Ellis            *)
  35.  
  36. procedure pKeyPressed;
  37.  
  38. Var  Ch: Char;
  39.  
  40. begin (* proc *)
  41.    
  42.    While KeyPressed Do Read(Kbd,Ch); (* Flush input buffer *)
  43.    Write('<CR> to continue or <ESC> to abort: ');
  44.    Read(Kbd,Ch);
  45.    WriteLn;
  46.    If Ch=^[ Then Halt;
  47.    
  48. end; (* proc *)
  49.  
  50. (* Procedure ********************************************************)
  51. (* UserInterrupt,  v. 0700pm, sun, 14.Sep.86, Glen Ellis *)
  52.  
  53. procedure pUserInterrupt;
  54.  
  55. (* not tested *)
  56.  
  57. Var  Ch: Char;
  58.  
  59. begin (* proc *)
  60.    While KeyPressed Do Read(Kbd,Ch); (* Flush input buffer *)
  61.    Read(kbd,ch);
  62.    If Ch=^[ Then Halt;
  63. end; (* proc *)
  64.  
  65.  
  66. (* Procedure ************************************************************)
  67. (* Write Screen Wait,   v. 0701am, sun, 31.Aug.86, Glen Ellis           *)
  68.  
  69. procedure pWriteScreenWait( line : THEstr );
  70.  
  71. begin
  72.    writeln(line);
  73.    pKeyPressed;
  74. end;
  75.  
  76.  
  77. (* Procedure ********************************************************)
  78. (* Header Draw Box,     v. 0700am, thu, 21.Aug.86, Glen Ellis       *)
  79.  
  80. procedure  pHEADERDRAWBOX(x1,y1,x2,y2 : nbr) ;
  81.  
  82. var
  83. i : nbr ;
  84.  
  85. begin
  86.    gotoxy(x1,y1) ;
  87.    for i := x1 to x2 do write('-') ;
  88.    for i := y1+1 to y2 do
  89.    begin
  90.       gotoxy(x1,i) ; write('!') ;
  91.       gotoxy(x2,i) ; write('!') ;
  92.    end ;
  93.    gotoxy(x1,y2) ;
  94.    for i := x1 to x2 do write('-') ;
  95. end ;
  96.  
  97.  
  98. (* Procedure ********************************************************)
  99. (* Say Header, v. 0700am, thu, 21.Aug.86, Glen Ellis                *)
  100.  
  101. procedure pSayHeader;
  102.  
  103. (* uses system var:( title, version1, version2, credit )
  104. (* display only.
  105. *)
  106. var
  107. x : nbr;
  108.  
  109. begin (* proc *)
  110.    
  111.    pClearScreen;
  112.    
  113.    (* outline program header *)
  114.    for x := 1 to 2 do pHEADERDRAWBOX(1+x,1+x,80-x,12-x) ;
  115.    
  116.    gotoxy(7,5);
  117.    writeln(SysTitle);
  118.    gotoxy(7,6);
  119.    writeln(SysVersion1);
  120.    gotoxy(7,7);
  121.    writeln(SysVersion2);
  122.    gotoxy(7,8);
  123.    writeln(SysCredit);
  124.    gotoxy(0,12);
  125.    
  126. end; (* proc *)
  127.  
  128.  
  129. (* Procedure ********************************************************)
  130. (* Say System Documentation, v. 0800pm, tue, 12.Sep.86, Glen Ellis  *)
  131.  
  132. procedure pSaySysDoc;
  133.  
  134. (*  purpose: display program documentation
  135. (*           output literal text only
  136. *)
  137.  
  138. var
  139. x : nbr;
  140.  
  141. begin (* proc *)
  142.    
  143.    pClearScreen;
  144.    
  145.    writeln('      Documentation:');
  146.    writeln;
  147.    writeln('INDENT.COM is a command line/file/user driven program ');
  148.    writeln('written in Borland Turbo Pascal, for CP/M and MSDOS systems');
  149.    writeln(SysTitle);
  150.    writeln(SysVersion1);
  151.    writeln(SysVersion2);
  152.    writeln(SysCredit);
  153.    writeln;
  154.    writeln('provides indenting/formatting function on Source Code files');
  155.    writeln('will parse filenames for the .TYP extension.               ');
  156.    writeln('     and do keyword routines for dBASE or Pascal source.   ');
  157.    writeln('if command line parameters are present then they are used  ');
  158.    writeln('else');
  159.    writeln('   if filename = "?" then user input or documentation      ');
  160.    writeln('   else a command data file is loaded for file.typ list    ');
  161.    writeln;
  162.    
  163.    pKeyPressed;
  164.    
  165.    
  166.    (*------------------------------------------------------------------------*)
  167.    
  168.    pClearScreen;
  169.    
  170.    writeln('---> Command Line Description <---');
  171.    writeln;
  172.    writeln('A>INDENT source.cmd  Target.PAS  3 1 0                       ');
  173.    writeln(' results : infile (identified as Pascal type)                ');
  174.    writeln('           indent = 3, comments included, no line numbers    ');
  175.    writeln(' Parameters :                                                ');
  176.    writeln(' #1 read source file, write target.$$$                       ');
  177.    writeln('    tested for .TYP in these two groups :                    ');
  178.    writeln('               dBASE(.CMD.PRG) / Pascal(.PAS.INC.PRO.FUN)    ');
  179.    writeln('    erase/rename according to source.TYP                     ');
  180.    writeln('    source.BAK, rename target.$$$ to Source.TYP              ');
  181.    writeln('    default .TYP is Pascal                                   ');
  182.    writeln('    "?" enables User entry / documentation module            ');
  183.    writeln(' #2 indent length 0 -> 79  , default = 3                     ');
  184.    writeln(' #3 comment :  1 = include, 0 = no include , default = 1     ');
  185.    writeln(' #4 linecnt :  1 = numbered line listing, 0 = not numbered   ');
  186.    writeln('    default = no linecount/vertiate                          ');
  187.    writeln(' if missing parameters #2, or #3, or #4                      ');
  188.    writeln('    then default settings are installed for #2, or #3, or #4.');
  189.    writeln('    defaults = indentnum = 3, comment = true, linecnt = false');
  190.    writeln;
  191.    
  192.    pKeyPressed;
  193.    
  194.    (*------------------------------------------------------------------------*)
  195.    
  196.    pClearScreen;
  197.    
  198.    writeln;
  199.    writeln(
  200.    '---> Command File Method <---');
  201.    writeln;
  202.    writeln(' #0 reads ',SysPgmName,' for filename list of file.typ  ');
  203.    writeln('    written as file.typ , in standard textfile format.  ');
  204.    writeln(' #1 reads source file.typ, parse for .TYP               ');
  205.    writeln(' #2 writes target file.$$$                              ');
  206.    writeln(' #3 if filename = "?", then User prompted for parameters.');
  207.    writeln('    else defaults are installed                          ');
  208.    writeln('    indent = 3, comment = true, linecnt = false         ');
  209.    writeln('#4 erases backup / renames tempfile to .typ of source file.');
  210.    writeln;
  211.    
  212.    pKeyPressed;
  213.    
  214. end; (* proc *)
  215.  
  216.  
  217. (********************************************************************)
  218. (*:B:0*)
  219. (*:B:0*)
  220. (*:B:0*)
  221.