Q97644: HOWTO: Merge Text from a Memo Field
Article: Q97644
Product(s): Microsoft FoxPro
Version(s): 2.0,2.5,2.5a,3.0,5.0,6.0
Operating System(s):
Keyword(s): kbvfp300 kbvfp500 kbvfp600 kbGrpDSFox kbDSupport
Last Modified: 09-FEB-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 3.0, 5.0, 6.0
- Microsoft FoxPro for Windows, versions 2.5, 2.5a
- Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, 2.5a
-------------------------------------------------------------------------------
SUMMARY
=======
Memo fields provide a powerful way to implement text merges in FoxPro. The
information below provides the code to print the contents of memo fields
containing the text for a text merge.
MORE INFORMATION
================
In this example, the memo field contains the text to be merged with the text
merge components. The page spacing (top, bottom, and side margins) is controlled
within the memo field. A sample memo field will appear much like this:
<<DATE()>>
<<ALLTRIM(PROPER(CONTACT))>>
<<ALLTRIM(PROPER(COMPANY))>>
<<ALLTRIM(PROPER(ADDRESS))>>
<<ALLTRIM(PROPER(CITY))>>, <<ALLTRIM(STATE)>> <<ALLTRIM(ZIP)>>
Dear <<ALLTRIM(PROPER(CONTACT))>>:
This area includes the body of a letter to be sent to the contact.
Sincerely,
Author's name
The following code prints the letter from the memo field shown above. The text
merge components (the fields and such) are in the SAMPLE\DBFS subdirectory of
FoxPro for MS-DOS and the SAMPLE\ORGANIZE\DBFS subdirectory of FoxPro for
Windows.
CLEAR
SET PRINTER ON
SET TEXTMERGE ON && enable evaluation of components
SET TALK OFF && prevents printing of commands
SET TEXTMERGE DELIMITERS TO && set default delimiters
SET MEMOWIDTH TO 80 && sets memo width for 80 columns
USE Clients
SCAN && forces top-down processing
FOR J=1 TO MEMLINES(<memo>) && processes each line in memo field
X="\"+MLINE(<name of memo field>,J)
&X && macro substitution
ENDFOR
ENDSCAN
NOTE: If the print job doesn't print until you quit FoxPro, see the following
article in the Microsoft Knowledge Base:
Q102203 BUG: Print Job Is Not Released to Printer
Additional query words: VFoxWin FoxDos FoxWin
======================================================================
Keywords : kbvfp300 kbvfp500 kbvfp600 kbGrpDSFox kbDSupport
Technology : kbVFPsearch kbAudDeveloper kbFoxproSearch kbZNotKeyword3 kbFoxPro200DOS kbFoxPro250DOS kbFoxPro250aDOS kbFoxPro250 kbFoxPro250a kbVFP300 kbVFP500 kbVFP600
Version : :2.0,2.5,2.5a,3.0,5.0,6.0
Issue type : kbhowto
=============================================================================
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.