home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / AAKXREF.ZIP / NEW_LINE.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1986-04-25  |  1.8 KB  |  40 lines

  1. (********************************************************************)
  2. (* THIS PROCEDURE WILL INSERT THE INPUT LINE INTO THE INPUT PAGE    *)
  3. (* INPUT        : fv,File_Name,Title,Line_Len                       *)
  4. (* INPUT/OUTPUT : Line,Line_Num                                     *)
  5. (* OUTPUT       : NEXT LINE RECORD READY FOR DATA PREV ONE STORED   *)
  6. (* USES         : NO SIDE EFFECTS                                   *)
  7. (* CALLS        : New_Page                                          *)
  8. (* ERRORS       : NONE                                              *)
  9. (* GLOBAL VARS  : NONE                                              *)
  10. (* SUBJECT      : PRINTER, NEW LINE                                 *)
  11. (* DOMAIN       : ARNO A. KARNER                      LEVEL : 004   *)
  12. (********************************************************************)
  13.  
  14. PROCEDURE New_Line                        ( VAR fv        : TEXT ;
  15.                                                 File_Name : File_Str ;
  16.                                                 Title     : TitleType ;
  17.                                             VAR Line      : Line_Ptr ;
  18.                                             VAR Line_Num  : INTEGER ) ;
  19.  
  20. VAR
  21.    Tem : work_String ;
  22.  
  23. BEGIN (* PROC START NEW LINE OF TEXT *)
  24.    IF Cur_Page^.Cur_LPP >= Lines_Per_Page
  25.      THEN New_Page ( fv , File_Name , Title ) ;
  26.    WITH Cur_Page^ DO
  27.    BEGIN (* INSIDE PAGE REC *)
  28.       Cur_LPP         := Cur_LPP + 1 ;
  29.       Last_Line^.NEXT := Line ;
  30.       Last_Line       := Line ;
  31.       IF Line^.CPL > Max_CPL THEN Max_CPL := Line^.CPL ;
  32.    END ; (* INSIDE PAGE REC *)
  33.    New_Line_Ptr ( Line ) ;
  34.    Line_Num := Line_Num + 1 ;
  35.    STR ( Line_Num : Linenum_Size , Tem ) ;
  36.    Tem := Tem + ' ' ;
  37.    Line^.Line := Tem ;
  38.    Line^.CPL  := Linenum_Size + 1 ;
  39. END ; (* PROC START NEW LINE OF TEXT *)
  40.