IDtConsumer.PutProvider

Синтаксис

PutProvider(Provider: IDtProvider);

Параметры

Provider - источник, данные которого необходимо экспортировать.

Описание

Метод PutProvider осуществляет экспорт всех значений указанного источника данных в приемник данных. Для удачного экспорта необходимо, чтобы список полей в приемнике данных соответствовал списку полей в источнике данных.

Пример

Для выполнения примера предполагается наличие в корневом каталоге диска С файла "Data_Out.txt" и таблицы в репозитории с идентификатором "Table_1".

Sub Main;

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; //Возврат каретки + перевод строки

TextConsumer.DelimitedColumnDelimiter := #9; //Клавиша Tab

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 Main;

После выполнения примера будет создан новый приемник данных, осуществляющий экспорт данных в текстовый файл. При экспорте в качестве разделителя строк будет использоваться сочетание Возврат каретки+Перевод строки, в качестве разделителя полей - Знак табуляции. В первую строку файла будут записаны наименования полей. Затем в файл будет экспортированы все данные из таблицы "Table_1".

См. также:

IDtConsumer