PutProvider(Provider: IDtProvider);
Provider. Data provider, which data should be exported.
The PutProvider method exports all values of the specified data provider to the data consumer.
For the successful export fields list in the data consumer should correspond to fields list in the data provider.
Executing the example requires that the root of the C disk contains the Data_Out.txt file and a table with the Table_1 identifier in the repository.
Sub UserProc;
Var
MB: IMetabase;
MBProvider: IDtMetabaseProvider;
TextConsumer: IDtTextConsumer;
Fields1, Fields2: IDtFieldDefinitions;
Field: IDtFieldDefinition;
i: Integer;
Begin
MB := MetabaseClass.Active;
MBProvider := New DtMetabaseProvider.Create;
MBProvider.Dataset := MB.ItemById("Table_1").Bind As IDatasetModel;
Fields1 := MBProvider.Fields;
TextConsumer := New DtTextConsumer.Create;
TextConsumer.File := "c:\Data_Out.txt";
TextConsumer.WriteHeader := True;
TextConsumer.RowDelimiter := #13 + #10; //Return carriage + transfer row
TextConsumer.DelimitedColumnDelimiter := #9; //TAB key
Fields2 := TextConsumer.Fields;
For i := 0 To Fields1.Count - 1 Do
Field := Fields2.Add;
Field.DataType := Fields1.Item(i).DataType;
Field.Name := Fields1.Item(i).Name;
End For;
TextConsumer.Open;
TextConsumer.Clear;
TextConsumer.PutProvider(MBProvider);
TextConsumer.Close
End Sub UserProc;
After executing the example a new data consumer that exports data in text file is created. During export the Carriage Return+Line Feed combination is used as a row delimiter, and Tabulation symbol - as a field delimiter. Row field names are written to the first file row. Then all the data from the specified table is exported to the file.
See also: