Hola fjcg02.
Fijate si este ejemplo se parece a lo que estas buscando,
Código Delphi
[-]
procedure CrearColumna(ClientDataSet: TClientDataSet; const FieldName: string;
const FieldType: TFieldType; const FieldSize: Integer = 0);
begin
with ClientDataSet do
begin
with FieldDefs.AddFieldDef do
begin
DataType := FieldType;
Name := FieldName;
if FieldSize > 0 then Size := FieldSize;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
with ClientDataSet1 do
begin
Close;
FieldDefs.Clear;
CrearColumna(ClientDataSet1, 'Integer', ftInteger);
CrearColumna(ClientDataSet1, 'String', ftString, 30);
CrearColumna(ClientDataSet1, 'Float', ftFloat);
CreateDataSet;
Open;
for i:= 1 to 1000 do
begin
Append;
FieldByName('Integer').AsInteger := i;
FieldByName('String').AsString := 'Valor '+IntToStr(i);
FieldByName('Float').AsFloat := PI * i;
Post;
end;
First;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
begin
with ClientDataSet1 do
begin
Close;
FieldDefs.Clear;
CrearColumna(ClientDataSet1, 'String', ftString, 15);
CrearColumna(ClientDataSet1, 'DateTime', ftDateTime);
CrearColumna(ClientDataSet1, 'Currency', ftCurrency);
CreateDataSet;
Open;
for i:= 1 to 1000 do
begin
Append;
FieldByName('String').AsString := 'Valor '+IntToStr(i);
FieldByName('DateTime').AsDateTime := Now();
FieldByName('Currency').AsFloat := PI * i;
Post;
end;
First;
end;
end;
Saludos
Edito: Perdón fjcg02, no ví tu último mensaje mientras tenía este abierto.
