|
Reader and Writer |
Top Previous Next |
|
WPTools makes it easy to add support for different file formats.
The import and export is done through a reader and a writer class which must inherit from TWPCustomTextReader and TWPCustomTextWriter.
This basic classes (defined in unit WPRTEDefs) already implement the necessary code for buffered reading and writing.
To use a different reader or writer simple use its classname in the property TextLoadFormat or TextSaveFormat or use the alias names, RTF, HTML, ANSI and WPTOOLS. The reader class also includes a function to check for the format using the first 500 characters of a file, this makes it possible to implement auto detection.
It is possible to select a certain reader or writer using a 'format string'. This string is passed to load and save methods, such as LoadFromFile and also in the properties TextLoadFormat and TextSaveFormat.
To select a certain reader or writer simply name it in the format string. You can pass options to the reader or writer, too.
This options are appended to the format string after a minus sign, i.e "HTML-onlybody". Multiple options are separated by comma.
You can also set the code page for the loading and or saving operations. This can be useful with the data sensitive control DBWPRichText:
Example: DBWPRichText1.TextLoadFormat := 'ANSI-codepage1251'; // cyrillic DBWPRichText1.TextSaveFormat := 'ANSI-codepage1251';
In general these options are supported but not all reader/writer can support all options:
In our web based forum we have posted several FAQ topics and articles.
The article "Compose an e-mail in HTML format / Save image to HTML" shows how to create a HTML e-mail.
Overview For details please see table here: http://www.wpcubed.com/manuals/formatstrings.htm
onlybody - only write body part ignorefonts - do not load font information ignorefontsize - do not load font size information nostyles - do not load or save styles nonumstyles - do not load or save number styles noimages - do not load or save images basetext - only save text in WPTOOLS format, no styles or other info nomergefields - do not save merge fields, only contents nohyperlinks - do not save hyperlinks nobookmarks - don't save bookmarks novariables - dont save or load RTF variables nobinary - try to convert all binary to ASCII nopageinfo - do not save or load page size information ignorekeepn - don't load the keepn flag from RTF ignorerowmerge - do not load row merging from RTF ignorecollapsedpar - don't save table rows which are hidden by WPReporter codepage12xx - set the code page XY for loading. Default is 1252. complete - load header and footer information although we are inserting text alwaysembed - embed image data also for linked images
For further reference please see the implementation of the reader and writer classes in the units WPIO*.PAS. All options are processed by the procedure "SetOptions". The reader and writer publish "Opt_name" properties which are set to true when an format option with the same name was used.
|