DEFINITION MODULE ListUtils; (* * REPERTOIRE * Release 1.6 * By Charles Bradford and Cole Brecheen * (c) Copyright 1985-1992 PMI * Green Bay, Wisconsin * All rights reserved * (414) 468-6040 * * $Header: D:/logfiles/defs/listutil.dev 1.6 17 Mar 1991 18:04:04 coleb $ * *) FROM GenLists IMPORT GenList; FROM SYSTEM IMPORT ADDRESS, BYTE; FROM VStorage IMPORT MemHandle; PROCEDURE CharCount( TheList : GenList; StartLine, EndLine: CARDINAL ): LONGINT; PROCEDURE CheckLength(VAR TheList : GenList; LeftMargin, LngthLimit: CARDINAL); PROCEDURE DeTabList( VAR TheList: GenList; VAR ListChanged: BOOLEAN ); PROCEDURE EnTabList( VAR TheList: GenList; LeadingOnly: BOOLEAN; VAR ListChanged: BOOLEAN ); PROCEDURE ElmtSize( TheList: GenList; spot: CARDINAL): CARDINAL; PROCEDURE GetStr( TheList: GenList; spot: CARDINAL; VAR TheStr: ARRAY OF CHAR ); PROCEDURE HandleToList( TheHandle : MemHandle; BlockSize : CARDINAL; delimiter1, delimiter2 : ARRAY OF CHAR; RecSize, TypeCode : CARDINAL; VAR TheList : GenList); PROCEDURE IndentationAt( TheList : GenList; Line : CARDINAL ): CARDINAL; PROCEDURE InsertElmtsOf( List1: GenList; StartingAt, NumberOfLines: CARDINAL; VAR List2: GenList; InsertionPoint: CARDINAL ); PROCEDURE InsertIntoElmt( VAR TheList: GenList; ListSpot: CARDINAL; StrAdr: ADDRESS; StrSize: CARDINAL; ElmtSpot: CARDINAL ); PROCEDURE IsBlankList( TheList: GenList ): BOOLEAN; PROCEDURE ListToFileHandle( TheList: GenList; TheHandle: CARDINAL; delim1, delim2: ARRAY OF CHAR; InitialNestingLevel: CARDINAL; VAR BytesWritten: LONGINT ): CARDINAL; PROCEDURE ListToString( TheList: GenList; VAR TheStr: ARRAY OF CHAR); PROCEDURE LongestLine( TheList: GenList ): CARDINAL; PROCEDURE OverwriteElmt( VAR TheList: GenList; ListSpot: CARDINAL; StrAdr: ADDRESS; StrSize: CARDINAL; ElmtSpot: CARDINAL ); PROCEDURE ObjectSpot( BinaryObject : ARRAY OF BYTE; TheList : GenList; StartingAt, EndingAt : CARDINAL) : CARDINAL; PROCEDURE PrintList( fhandle: CARDINAL; TheList : GenList; LeftMargin: CARDINAL; Separator: ARRAY OF CHAR ); PROCEDURE ReformPara( VAR TheList : GenList; LeftMargin, RightMargin : CARDINAL; VAR StartLine, CursorLine, CursorCol: CARDINAL; VAR LinesAdded, BytesAdded: INTEGER; VAR CursorBytePos: LONGINT ); PROCEDURE TextFileToList( VAR TheFile: ARRAY OF CHAR; VAR TheList: GenList): CARDINAL; PROCEDURE TextListToFile( VAR TheList: GenList; TheFile: ARRAY OF CHAR): CARDINAL; PROCEDURE TypeCheck( TheList: GenList; spot: CARDINAL ): CARDINAL; PROCEDURE Init(); END ListUtils.