<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Arial'; COLOR: #000000; FONT-SIZE: 12pt">
<DIV>I am wishing to use a ClientDataSet for custom data, not read from a 
database, and with varying formats.&nbsp;&nbsp; This means that field 
definitions and populating it are all done at run time.</DIV>
<DIV>&nbsp;</DIV>
<DIV>The data has some integer values that are 8 digit dates, and some that are 
IRD numbers and I want to format them to show in controls – eg IRD numbers as 
10-000-033 for example.</DIV>
<DIV>&nbsp;</DIV>
<DIV>The code I am using below does work fine for displaying data on the screen, 
but not for printing – the printing line in the report (Rave D2007) uses a line 
in a loop like:</DIV>
<DIV>&nbsp;</DIV>
<DIV>ThisField:=lDBGrid.Columns[colptr].Field;</DIV>
<DIV>if not ThisField.IsNull then lText:=lDBGrid.Fields[colptr].asString;</DIV>
<DIV>&nbsp;</DIV>
<DIV>But getting the value asString does not get the Display format – i get 
10000033 for example, so pretty useless for a report.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Anyone have an idea what more I can do to get the printing also use the 
DisplayFormat ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Below is how I create the Dataset.</DIV>
<DIV>&nbsp;</DIV>
<DIV>(Eventually I would like to add some events to reformat the integer dates, 
so that instead of displaying as YYYY-MM-DD they can be displayed as DD-MM-YYYY 
but&nbsp; I am not sure that is possible – so first things first).</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; ClientDataSet1.Fields.Clear;</DIV>
<DIV>&nbsp; with ClientDataSet1 do</DIV>
<DIV>&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp; with TIntegerField.Create(Self) do</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name := 
'ClientDataSet1RNO';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldKind := fkData;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldName := 'RNO';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet := ClientDataSet1;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; //FieldName</DIV>
<DIV>&nbsp;&nbsp;&nbsp; with TStringField.Create(Self) do</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name := 
'ClientDataSet1Alpha1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldKind := fkData;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldName := 'Alpha1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size := 10;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet := ClientDataSet1;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; //FieldName</DIV>
<DIV>&nbsp;&nbsp;&nbsp; with TDateField.Create(Self) do</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name := 
'ClientDataSet1Date1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldKind := fkData;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldName := 'Date1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet := ClientDataSet1;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; //FieldName</DIV>
<DIV>&nbsp;&nbsp;&nbsp; with TFloatField.Create(Self) do</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name := 
'ClientDataSet1Float1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldKind := fkData;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldName := 'Float1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet := ClientDataSet1;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; //FieldName</DIV>
<DIV>&nbsp;&nbsp;&nbsp; with TIntegerField.Create(Self) do</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name := 
'ClientDataSet1DDate1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldKind := fkData;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldName := 'DDate1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet := ClientDataSet1;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; //FieldName</DIV>
<DIV>&nbsp;&nbsp;&nbsp; with TIntegerField.Create(Self) do</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; begin</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Name := 
'ClientDataSetCLIRD1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldKind := fkData;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FieldName := 'CLIRD1';</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataSet := ClientDataSet1;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end; //FieldName</DIV>
<DIV>&nbsp; end;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; TIntegerField(ClientDataSet1.FieldByName('CLIRD1')).DisplayFormat := 
'000-000-000';</DIV>
<DIV>&nbsp; TIntegerField(ClientDataSet1.FieldByName('DDate1')).DisplayFormat := 
'0000-00-00';</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; TIntegerField(ClientDataSet1.FieldByName('CLIRD1')).EditFormat := 
'#';</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; ClientDataset1.CreateDataset;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV style="FONT-FAMILY: 'Arial'; COLOR: #000000; FONT-SIZE: 12pt">John 
Bird<BR></DIV></DIV></DIV></BODY></HTML>