home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / utility / crossref / aak_xref / n_page.pas < prev    next >
Pascal/Delphi Source File  |  1986-04-24  |  2KB  |  45 lines

  1. (********************************************************************)
  2. (* THIS PROCEDURE WILL CREATE AND INITALIZE A PAGE RECORD           *)
  3. (* INPUT        : NONE                                              *)
  4. (* INPUT/OUTPUT : First,Cur,Last                                    *)
  5. (* OUTPUT       : NONE                                              *)
  6. (* USES         : NO SIDE EFFECTS                                   *)
  7. (* CALLS        : Memory                                            *)
  8. (* ERRORS       : OUT OF MEMORY PROGRAM HALTS                       *)
  9. (* GLOBAL VARS  : NONE                                              *)
  10. (* SUBJECT      : PRINTER, NEW PAGE RECORD                          *)
  11. (* DOMAIN       : ARNO A. KARNER                      LEVEL : 001   *)
  12. (********************************************************************)
  13.  
  14. PROCEDURE New_Page_Ptr         ( VAR First , Cur , Last : Page_Ptr ) ;
  15.  
  16. BEGIN (* PROC *)
  17.    IF Memory > Min_Memory
  18.    THEN BEGIN (* ENOUGH MEMORY *)
  19.            NEW ( Cur ) ;
  20.            WITH Cur^ DO
  21.            BEGIN (* INIT PAGE *)
  22.               IF First = NIL
  23.               THEN BEGIN (* FIRST PAGE *)
  24.                       First := Cur ;
  25.                       Last  := Cur ;
  26.                       Prev  := NIL ;
  27.                       Next  := NIL ;
  28.                    END  (* FIRST PAGE *)
  29.               ELSE BEGIN (* NEW LAST PAGE *)
  30.                       Prev       := Last ;
  31.                       Next       := NIL ;
  32.                       Last^.Next := Cur ;
  33.                       Last       := Cur ;
  34.                    END ; (* NEW LAST PAGE *)
  35.               First_Line := NIL ;
  36.               Last_Line := NIL ;
  37.               Cur_LPP := 0 ;
  38.               Max_CPL := 0 ;
  39.            END ; (* INIT PAGE *)
  40.         END   (* ENOUGH MEMORY *)
  41.    ELSE BEGIN (* OUT OF MEMORY *)
  42.            WRITELN ( 'Error out of memory. Program aborted.') ;
  43.            HALT ;
  44.         END ; (* OUT OF MEMORY *)
  45. END ; (* PROC *)