`
Par2: Printing large memos 1998-03-23 -- Jeff Berlinghoff The only way I've found to do this is with two report controls on different detail bands. Make a text control on a band that you never print. Make it the correct width, etc, then on another detail (RPT:MemoLine), make a variable string (?String1) as wide as the memo. Assign the value to the memo. (In a rather complicated report I have done, I have several memo fields for one report, so you need to ?TextControl{prop:use}=fil:memofld) Then make a loop: LOOP Line# = 1 TO ?TextControl{prop:LineCount} ?String{prop:text}=?TextControl{prop:Line,Line#} !get one line of text DO CheckEndOfPage PRINT(RPT:MemoLine) END The last thing to do, of course, is to write the CheckEndOfPage Routine. I'm going from memory on this one, don't have that source right here, but basically need to check to see if the current YPos on the page is greater than the YPos of your page footer, if it is, call EndPage(), and reset the XPos to just below the Header. If you only have one Memo to do, you can just put the code inside the loop, but I recall doing all kinds of things where I needed to be able to check for the end of the page, so I made it into a routine. Printed November 21, 2024, 1:10 pm This article has been viewed/printed 35192 times. |