On Mon, 15 Aug 2011, Reinier Olislagers wrote:

On 28-7-2011 9:24, michael.vancann...@wisa.be wrote:
On Thu, 28 Jul 2011, Reinier Olislagers wrote:
On 27-7-2011 20:52, michael.vancann...@wisa.be wrote:
Code like

      ftWideString: //fixed length or at least max length string
      begin
        TDOMElement(ColumnNode).SetAttribute('fieldtype', 'string');
        TDOMElement(ColumnNode).SetAttribute('WIDTH',

UTF8Decode(string(ExportFields.Fields[ItemCounter].Field.Size)));
      end;
Regarding the snippet above: for Unicode-enabled Delphis, using
Clientdataset savetofile as UTF8-based XML (dfXMLUTF8), what do I need
to output for a ftString:
- Field.Size (number of characters in string)
- Field.DataSize (number of bytes in string field)

As Michael indicated, it probably is Field.Size, but I'd like to have
that confirmed. (Can't seem to find any documentation on ClientDataset
XML format on Embarcadero's Delphi help at
http://docwiki.embarcadero.com/VCL/en/DBClient.TCustomClientDataSet.SaveToFile)

I created a dataset with 2 fields. A ftString field with size 33, and a 
ftWideString field with size 44.

Based on the following output from SaveToFile, I would say that you'll need to put Size*SizeOf(CharTypeUsedInfield), which should be DataSize.

Michael.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="stringveld" fieldtype="string" WIDTH="33"/>
<FIELD attrname="WideStringVeld" fieldtype="string.uni" WIDTH="44"/>
</FIELDS>
<PARAMS/>
</METADATA>
<ROWDATA>
</ROWDATA>
</DATAPACKET>
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to