home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / PRECOM.ZIP / LISTS.DEF < prev    next >
Text File  |  1992-12-09  |  1KB  |  44 lines

  1. DEFINITION MODULE Lists;
  2.  
  3. (*# call(near_call => off) *)
  4. TYPE
  5.   ElmtPntr = POINTER TO Element;
  6.   ApplyProc = PROCEDURE(ElmtPntr );
  7. CLASS Element;
  8.   Prev : ElmtPntr;
  9.   Next : ElmtPntr;
  10.   ElmtSize : CARDINAL;
  11. END Element;
  12.  
  13. CLASS StrElmt (Element);
  14.   TheStr : ARRAY[0..120] OF CHAR;
  15.   PROCEDURE Assign(AString : ARRAY OF CHAR);
  16.   PROCEDURE GetStr(VAR AString : ARRAY OF CHAR);
  17. END StrElmt;
  18.  
  19.  
  20. CLASS GenList;
  21.   First : ElmtPntr;
  22.   Last  : ElmtPntr;
  23.   Now   : ElmtPntr;
  24.   NowNbr: CARDINAL;
  25.   Type  : ARRAY[0..10] OF CHAR;
  26.   NbrInLst : CARDINAL;
  27.   PROCEDURE Initialized(): BOOLEAN;
  28.   PROCEDURE InitList;
  29.   PROCEDURE ListLength(): CARDINAL;
  30.   PROCEDURE DisposeList;
  31.   PROCEDURE AddItem(VAR Item : Element; Size : CARDINAL);
  32.   PROCEDURE InsertItem(VAR Item : Element; Spot : CARDINAL;Size : CARDINAL);
  33.   PROCEDURE DeleteItem(Spot : CARDINAL);
  34.   PROCEDURE GetItemSize(Spot : CARDINAL):CARDINAL;
  35.   PROCEDURE GetItem(VAR Item : Element; Spot:CARDINAL);
  36.   PROCEDURE GetItemAdr(VAR ItemPnt : ElmtPntr; Spot : CARDINAL);
  37.   PROCEDURE MoveToSpot(Spot : CARDINAL);
  38.   PROCEDURE Apply(Proc : ApplyProc);  (* apply to every elemt in list *)
  39.   PROCEDURE FileToList(FileName : ARRAY OF CHAR);
  40.   PROCEDURE ListToFile(FileName : ARRAY OF CHAR);
  41. END GenList;
  42.  
  43. END Lists.
  44.