` Comment on an Icetips Article
Icetips - Templates, Tools & Utilities for Clarion Developers

Templates, Tools and Utilities
for Clarion Developers

Add a comment to an Icetips Article

Please add your comments to this article. Please note that you must provide both a name and a valid email address in order for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!

Your Name:  
Email:  
Header text/Subject:  

Please enter your comment in the box below:

Back to article list   Search Articles     Add Comment     Printer friendly     Direct link  

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.


Today is November 23, 2024, 2:03 am
This article has been viewed 35196 times.



Back to article list   Search Articles   Add Comment   Printer friendly

Login

User Name:

Password: