home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / PASCAL / MISCTI10.ZIP / TI116.ASC < prev    next >
Encoding:
Text File  |  1988-04-15  |  7.4 KB  |  245 lines

  1. PRODUCT : TURBO TUTOR     NUMBER : 116
  2. VERSION : 2.00x
  3.      OS : ALL
  4.    DATE : May 21, 1986
  5.  
  6. This  file describes modifications which you can make to versions
  7. current  version,  2.00D.   Since  the changes apply  to  several 
  8. different  versions,  ignore any modifications that have  already 
  9. been  made.  If you have the CP/M-80 version,  you must edit both 
  10.  
  11. LISTT 2.00D remedies the following conditions which appeared last 
  12. in version:
  13.  
  14.  1.   2.00A  (for   MS-DOS only)  - failure to  see  an  open- or            
  15. close- comment  near  the  end of a  long   line  resulting             
  16. in key words not capitalized, or directives missed.
  17.  2.   2.00A  - hang on lines ending in an   open-comment.
  18.  3.   2.00B -   The  command line buffer in correctly  copied       
  19. into a local variable. 
  20.  4.   2.00B  (for MS-DOS only)
  21.            A) Times between noon and 12:59 P.M.  printed  as A.M.   
  22.            B) Times of 12:??  A.M. or P.M.  printed as  00:??.
  23.  5.   2.00C  (for  MS-DOS  only) - LISTT  failing  to  close  the              
  24. include  files  resulting  in not all of  the  files  being                    
  25. printed.
  26.  6.   2.00C   - Certain   printer  escape  sequences   were   not               
  27. interpreted properly.
  28.  
  29. Important  Note:   Replace all version numbers with  the  current                    
  30. version:  2.00D.     There are three instances                    
  31. of   the   version   number   throughout   the                                       
  32. program.
  33.  
  34.  
  35. In the procedure ListIt:
  36.  
  37.   Change from:
  38.      Line: Buffer;
  39.  
  40.   Change to:
  41.      Line, Remainder: Buffer;   { modification ver. 2.00B }
  42.  
  43.  
  44. In  procedure UpKeyWords:
  45.  
  46.   Change from: 
  47.  
  48.     Var
  49.       First, LL, LK, I, J: Integer;
  50.       PossibleKey: String[MaxKeyLenPlus1];
  51.       Min, Max, Guess: Integer;
  52.       Found: Boolean;
  53.  
  54.   Change to:
  55.     Var
  56.       First, LL, LK, I, J: Integer;
  57.       PossibleKey: String[MaxKeyLenPlus1];
  58.       Min, Max, Guess: Integer;
  59.       Found: Boolean;
  60.       Line1: Buffer;           { addition ver. 2.00B }
  61.  
  62.  
  63.   Change from:
  64.       If Line[Length(Line)]=Chr(254) Then Line[0]:=Pred(Line[0]);
  65.      End  { If UpKeys }
  66.     Else  { Not UpKeys }
  67.      While I<LL Do
  68.      Begin
  69.       Case Line[I] Of
  70.        '{': If ParseState<>Quoted Then ParseState:=Comment;
  71.        '(':  If  (ParseState<>Quoted)  And  
  72.                (Copy(Line,I,2)='(*') Then
  73.               ParseState:=Comment2;
  74.        '}': If ParseState=Comment Then ParseState:=PreKey;
  75.        '*':  If  (ParseState=Comment2) And  
  76.                (Copy(Line,I,2)='*)') Then
  77.               ParseState:=PreKey;
  78.        '''': If ParseState=Quoted Then ParseState:=PreKey
  79.  
  80.   Change to:
  81.       If Line[Length(Line)]=Chr(254) Then 
  82.         Line[0]:=Pred(Line[0]);
  83.      End; { If UpKeys }
  84.     Line1:=Remainder;     
  85.           { addition ver. 2.00B note deletion of Else; }
  86.     If UpKeys And (Line[Length(Line)]='*') Then 
  87.       Line1:='*'+Line1;  { addition ver. 2.00B }
  88.     If  Not  UpKeys Then Line1:=Line+Remainder;  
  89.                          { addition ver. 2.00B }
  90.     I:=1; LL:=Length(Line1)+1; { addition ver. 2.00B }
  91.      While I<LL Do
  92.      Begin
  93.      Case Line1[I] Of         { modification ver. 2.00B }
  94.        '{': If ParseState<>Quoted Then ParseState:=Comment;
  95.        '(':  If  (ParseState<>Quoted) And  
  96.                (Copy(Line1,I,2)='(*') Then
  97.                                { modification ver. 2.00B }
  98.               ParseState:=Comment2;
  99.        '*':  If (ParseState=Comment2) And  
  100.                (Copy(Line1,I,2)='*)') Then
  101.                                { modification ver. 2.00B }
  102.               ParseState:=PreKey;
  103.        '''': If ParseState=Quoted Then ParseState:=PreKey
  104.  
  105.  
  106. In the procedure TruncateLine:
  107.  
  108.   Change from:
  109.     Begin
  110.      Remainder:=Copy(Line,LineWidth-Extra+1,200);
  111.      Line:=Copy(Line,1,LineWidth-Extra);
  112.     End
  113.  
  114.   Change to:
  115.     Begin
  116.      Remainder:=Copy(Line,LineWidth-Extra+1,200);
  117.      Line:=Copy(Line,1,LineWidth-Extra);
  118.     End
  119.    Else                  { addition ver. 2.00B }
  120.     Remainder := '';     { addition ver. 2.00B }
  121.  
  122.  
  123. In the procedure ProcessDirectives:
  124.  
  125.   Change from:
  126.         If Temp=-1 Then Temp:=Length(Copy(Line,Where+1,200))-1;
  127.         CheckDirective(Where+1,Temp);
  128.         If Not WasCmd Then Where:=Where+Temp+1;
  129.       End;
  130.  '(': Begin
  131.         Temp:=Pos('*)',Copy(Line,Where+2,200))-1;
  132.         If Temp=-1 Then Temp:=Length(Copy(Line,Where+1,200))-1;
  133.         CheckDirective(Where+2,Temp);
  134.         If Not WasCmd Then Where:=Where+Temp+3;
  135.  
  136.   Change to:
  137.         If Temp=-1 Then Temp:=Length(Copy(Line,Where+1,200));
  138.                                      { modification 2.00B }
  139.         CheckDirective(Where+1,Temp);
  140.         If  Not  WasCmd Then  Where:=Where+Temp+2;
  141.                                      { modification 2.00B }
  142.       End;
  143.  '(': Begin
  144.         Temp:=Pos('*)',Copy(Line,Where+2,200))-1;
  145.         If Temp=-1 Then Temp:=Length(Copy(Line,Where+1,200))-1;
  146.                                      { modification 2.00B }
  147.         CheckDirective(Where+2,Temp);
  148.         If  Not  WasCmd Then  Where:=Where+Temp+4;
  149.                                      { modification 2.00B }
  150.  
  151.  
  152. In the function CommandLineArgument:
  153.  
  154.   Change from:
  155.      Begin
  156.       CLA:='';
  157.       While (J<=Length(CommandLine)) And (CommandLine[J]=' ') Do
  158.       While (J<=Length(CommandLine)) And (CommandLine[J]<>' ') Do
  159.        Begin
  160.         CLA:=CLA+CommandLine[J];
  161.         J:=J+1;
  162.        End;
  163.      End;
  164.  
  165.   Change to:
  166.     Begin
  167.      CLA:='';
  168.      While (J<=Length(CommandLineBuffer)) And
  169.        (CommandLineBuffer[J]='  ')  Do 
  170.                                  { modification ver. 2.00B }
  171.      While (J<=Length(CommandLineBuffer)) And
  172.        (CommandLineBuffer[J]<>'  ')  Do 
  173.                                  { modification ver. 2.00B }
  174.       Begin
  175.        CLA:=CLA+CommandLineBuffer[J];   
  176.                                  { modification ver. 2.00B }
  177.        J:=J+1;
  178.       End;
  179.     End;
  180.  
  181.  
  182. In the procedure InitParms:
  183.  
  184.   Change from:
  185.     AM_PM:='am';
  186.     If CH>12 Then
  187.      Begin
  188.       CH:=CH-12;
  189.       AM_PM:='pm';
  190.      End;
  191.     Str(CH:2,Hour);
  192.  
  193.   Change to:
  194.     AM_PM:='am';
  195.     If CH>11 Then  { modification ver. 2.00C }
  196.      Begin
  197.       CH:=CH-12;
  198.       AM_PM:='pm';
  199.      End;
  200.     If CH=0 Then CH:=12; { addition ver. 2.00C }
  201.     Str(CH:2,Hour);
  202.  
  203.  
  204. In the procedure CheckDirective:
  205.  
  206.   Change from:
  207.       If PageForIncludes And PageStarted Then NewPage;
  208.       CurrentInFileName:=InFileName;
  209.      End; { Else include file was found }
  210.  
  211.   Change to:
  212.       If PageForIncludes And PageStarted Then NewPage;
  213.       CurrentInFileName:=InFileName;
  214.       Close(IncludeFile);   { addition ver. 2.00D }
  215.      End; { Else include file was found }
  216.  
  217.  
  218. In the function CmdStr:
  219.  
  220.   Change from:
  221.     Function CmdStr: Buffer;
  222.  
  223.     Begin
  224.       CmdStr:=Copy(Line,Where+3,Len-3);
  225.     End;
  226.  
  227.   Change to:
  228.     Function CmdStr: Buffer;
  229.  
  230.     Var              { addition ver. 2.00D }
  231.       S: Buffer;     { addition ver. 2.00D }
  232.  
  233.     Begin
  234.       S:=Copy(Line,Where+3,Len-3);    
  235.                                       { modification ver. 2.00D }
  236.       if (Length(S) > 2) and (Copy(S, 1, 2) = '^[') then
  237.                                       { addition ver. 2.00D }
  238.         CmdStr:=#27+Copy(S, 3, Length(S)-2) 
  239.                                       { addition ver. 2.00D }
  240.       else                            { addition ver. 2.00D }
  241.         CmdStr:=S;                    { addition ver. 2.00D }
  242.     End;
  243.  
  244.  
  245.