<> <> DIRECTORY Containers USING [Container], IO, Rope, SirPress, TSFont, ViewerClasses USING [Viewer]; PrintDirDefs: DEFINITIONS = { ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; FontClass: TYPE = {body, bodyBold, bodyItalic, bodyBoldItalic, headingLarge, headingSmall, pageNum, date, tabs, display, symbols, campaign, comment}; CallerNumber: TYPE = [0..200); CP: TYPE = RECORD [name, phone: ROPE, recruiter: CallerNumber]; CallerNameRec: TYPE = ARRAY CallerNumber OF CP; Entry: TYPE = RECORD [ caller: CallerNumber _ 0, activity, level, dinner, age: CHAR _ ' , phone: ARRAY [0..4) OF ROPE _ ALL[NIL], name: ARRAY [0..4) OF ROPE _ ALL[NIL], addr: ARRAY [0..4) OF ROPE _ ALL[NIL], town: ROPE _ NIL, zip: ROPE _ NIL, mailing: ROPE _ NIL, comment: ROPE _ NIL]; Handle: TYPE = REF MyRec; -- a REF to the data for a particular instance of the sample tool; multiple instances can be created. MyRec: TYPE = RECORD [ -- the data for a particular tool instance outer: Containers.Container _ NIL, -- handle for the enclosing container height: CARDINAL _ 0, -- height measured from the top of the container cmd: CommandViewer, -- the commands dim: DimRecord _ TRASH, in: STREAM, eof: BOOLEAN _ FALSE, out: STREAM, -- for press file press: SirPress.PressHandle _ NIL, fontCode: ARRAY FontClass OF SirPress.FontCode, fontInfo: ARRAY FontClass OF TSFont.Ref, callerName: REF CallerNameRec, yTop: INT, firstOnPage, lastOnPage, heading, date: ROPE, pageNumber: INT _ 1, phoneX, phoneX2, indent, nameX, addrX, townX, zipX, addrPWidth, callerRight: INT, prevInitial: CHAR _ 0C, prevZip: ROPE _ NIL, duplex, alphaSort: REF BOOL, -- _ TRUE separatePages, zipSort, actualLevel, callersOnly, mailingOnly: REF BOOL, -- _ FALSE flagCallers, ageSort, dinnerSort, showCallers: REF BOOL, -- _ FALSE affiliateThisPage: BOOL _ FALSE, fumcX, dateX: INT, callerX, recruiterX: INT, tsIn, tsOut: STREAM, ts: ViewerClasses.Viewer ]; -- the typescript CommandViewer: TYPE = RECORD [ inputFile, pressFile, heading, callers, yLead, fontSize, lineHeight, firstRecruiter, lastRecruiter, topMargin, bottomMargin, leftMargin, rightMargin, displayHeight, tabHeight, nameIndent: ViewerClasses.Viewer ]; DimRecord: TYPE = RECORD [ yLead, fontSize, lineHeight, firstRecruiter, lastRecruiter, topMargin, bottomMargin, leftMargin, rightMargin, displayHeight, tabHeight, nameIndent: INT]; PromptRec: TYPE = RECORD [ handle: Handle, viewer: ViewerClasses.Viewer _ NIL]; PromptHandle: TYPE = REF PromptRec; pageWidth: INT = 612; pageHeight: INT = 792; Problem: ERROR; }.