Article ID: 305931 - View products that this article applies to.
This article was previously published under Q305931
This article has been archived. It is offered "as is" and will no longer be updated.
The behavior of the COPY TO ... DELIMITED command differs slightly in each version of Microsoft FoxPro and Visual FoxPro (VFP). You should be aware of these differences when moving code between versions.
The different versions of FoxPro produce slightly different text files using the same command. Depending on the version, leading spaces may be truncated or quotation marks may be added to character fields.
For example, COPY TO filename DELIMITED WITH BLANK in FoxPro 2.6a produces a text file that does not contain quotation marks around the character fields. If a character field contains leading spaces, they remain. Visual FoxPro 3.0, however, trims these leading spaces. Both these behaviors are contrary to the COPY TO documentation, which states in VFP 3.0:
DELIMITED Creates a delimited file. A delimited file is an ASCII text file in which each record ends with a carriage return and linefeed. The default field separator is a comma. Since character data may include commas, character fields are additionally delimited with double quotation marks.
DELIMITED WITH BLANK Creates a delimited file with fields separated by spaces instead of commas.Visual FoxPro 5.0 and later behave correctly, including leading spaces and delimiting character fields with quotes. DELIMITED WITH " " removes the quotes, but replaces them with extra spaces.
In Visual FoxPro 5.0 and 6.0, attempts to remove the character field delimiter altogether fail in different ways. DELIMITED WITH "" and DELIMITED WITH  give the following error:
DELIMITED WITH '' treats the first quote as a delimiter and ignores the second one.
Command contains unrecognized phrase/keyword.
However, Visual Foxpro 7.0 has been enhanced so that DELIMITED WITH "" does not give a syntax error. This allows you to create text files that have no quotes around any fields, which is desirable in some cases.
To observe these various behaviors, run the following code in FoxPro 2.6 or later. Feel free to experiment with the other forms of the command listed above.
Article ID: 305931 - Last Review: February 28, 2014 - Revision: 2.1