devxlogo

Rich text presentation style

Rich text presentation style

Question:
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.

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

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

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

The script would look something like:

String ls_CopyRTF// Use the FALSE parm to indicate all the textls_CopyRTF = dw_1.CopyRTF( FALSE )rte_1.PasteRTF( ls_CopyRTF )rte_1.SaveDocument( ‘c:	emp
tf1.rtf’, FileTypeRichText! )
The only limitation you will encounter is under Win3.1, where the maximumstring size is 60K. Also, you will have two copies of the RTF document inmemory at once, and if you are dealing with large files, things can get very slow, or an “out of memory” error can occur.

devx-admin

Share the Post: