Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: PowerBuilder
Expertise: Beginner
May 29, 1997



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Rich text presentation style

When using a rich text datawindow (not an rte control), is there a way to save the contents to a file as rich text, as is? In other words, the user would be able to pull the file up in any word processing document and have it show the actual data instead of {first_name}{last_name} etc.

The RTF style datawindow does not support a method for saving the content of the retrieved RTF to disk. However, the RTF control has a method SaveDocument() that allows you to save the content of the RTF control to an RTF file on disk.

Although it's not perfect, you can use the CopyRTF() and PasteRTF() commands to copy the content of the datawindow RTF control to a window RTF control and then issue a SaveDocument() command against the RTF control.

You can make the RTF control invisible, hide it off the edge of the screen or create it dynamically when the user requests the function to save the RTF to disk. That way the user does not have to see the tricks you are performing.

The script would look something like:

String ls_CopyRTF

// Use the FALSE parm to indicate all the text
ls_CopyRTF = dw_1.CopyRTF( FALSE )
rte_1.PasteRTF( ls_CopyRTF )
rte_1.SaveDocument( 'c:\temp\rtf1.rtf', FileTypeRichText! )
The only limitation you will encounter is under Win3.1, where the maximum string size is 60K. Also, you will have two copies of the RTF document in memory at once, and if you are dealing with large files, things can get very slow, or an "out of memory" error can occur.
DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date