PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK
  • Printing a justified RTF text
  • Printing RTF with page breaks
  • Printing RTF
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Prints rich text format (RTF) in a rectangular area. The print is not started (only iEndPrinting can be used to start the print).
iPrintZoneRTF(RTFText, 0, 0, dHeight, 200)
Syntax
<Result> = iPrintZoneRTF(<RTF text> , <X1> , <Y1> , <X2> , <Y2> [, <Start> [, <End>]])
<Result>: Integer
Index of the last RTF element printed in the rectangular area (WINDEV/WEBDEV specific count).
<RTF text>: Character string
RTF string that will be printed in a specific area.
<X1>: Real
Horizontal coordinate of top left corner of the print area (in millimeters).
Value included between 0 and the page width (returned by iPageWidth).
<Y1>: Real
Vertical coordinate of top left corner of the print area (in millimeters).
Value included between 0 and the page height (returned by iPageHeight).
<X2>: Real
Horizontal coordinate of bottom right corner of the print area (in millimeters).
Value included between 0 and the page width (returned by iPageWidth).
<Y2>: Real
Vertical coordinate of bottom right corner of the print area (in millimeters).
Value included between 0 and the page height (returned by iPageHeight).
<Start>: Optional integer
Index of the first character in the <RTF text> to print. If this parameter is not specified, the <RTF text> is printed from the first character.
<End>: Optional integer
Index of the last character in the <RTF text> to print. If this parameter is not specified, the <RTF text> is printed up to the last character.
Remarks

Printing a justified RTF text

To print a text with iPrintZoneRTF while keeping its justification, iParameter must be previously used as follows:
iParameter("RTFJustification=Yes")
If the parameters used to divide RTF text are used (<Start> and <End>), the text justification text will be stored.

Printing RTF with page breaks

The following code prints RTF containing programmed page breaks:
// Open the report viewer
iDestination(iViewer)
// Convert the text
sText is string = RTFToText(EDT_EditText)
// Text size
nTextSize is int = Length(sText)
// Delete the number of page breaks to the size of the text
nTextSize -= StringCount(sText, Charact(12))
// CR must correspond to one single character
nTextSize -= StringCount(sText, Charact(13))
 
// Loop on all the pages
nStart is int
nSize is int = -1
LOOP
// Prints the page
nStart = nSize + 1
nSize = iPrintZoneRTF(EDT_EditText, 0, 0, iPageWidth(), iPageHeight(), nStart, -1)
// Skips the page if other pages are found
IF nSize < nTextSize AND nSize > nStart THEN
iSkipPage()
END
TO DO WHILE nSize < nTextSize AND nSize > nStart
// End of print
iEndPrinting()

Printing RTF

In order for iPrintZoneRTF to operate, "RICHED20.DLL" must be found on the current computer.
In most cases, the "RICHED20.DLL" file is in the Windows system directory.
Component : wd250prn.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment