IDtTextConsumer.TextCodePage

Синтаксис Fore

TextCodePage: CodePage;

Синтаксис Fore.NET

TextCodePage: Prognoz.Platform.Interop.ForeSystem.CodePage;

Описание

Свойство TextCodePage определяет кодировку, которая будет использоваться при экспорте данных в файл.

Комментарии

Для определения файла, в который будет производиться экспорт данных, используйте свойство IDtTextConsumer.File.

Пример Fore

Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором «ETL» и текстового файла «C:\Data.txt».

Добавьте ссылки на системные сборки Metabase, Etl, Dt, Andy, Drawing.

Sub UserProc;
Var
    MB: IMetabase;
    EtlTask: IEtlTask;
    EtlConsumer: IEtlPlainDataConsumer;
    TextConsumer: IDtTextConsumer;
    WxConsumer: IWxRectangle;
    WxETLConsumer: IWxETLObject;
Begin
    MB := MetabaseClass.Active;
    EtlTask := MB.ItemById("ETL").Edit As IEtlTask;
    //Создание объекта "Экспорт в текст"
    EtlConsumer := EtlTask.Create(EtlObjectType.PlainDataTextConsumer) As IEtlPlainDataConsumer;
    EtlConsumer := EtlConsumer.Edit;
    EtlConsumer.Id := "Text_Consumer";
    EtlConsumer.Name := "Экспорт в текст";
    EtlConsumer.Description := "Экспорт в текст";
    //Настройка приемника данных
    TextConsumer := EtlConsumer.Consumer As IDtTextConsumer;
    TextConsumer.File := "C:\Data_out.txt";
    TextConsumer.WriteHeader := True;
    TextConsumer.RowDelimiter := "|";
    TextConsumer.DelimitedColumnDelimiter := ";";
    TextConsumer.DelimitedTextQualifier := "'";
    TextConsumer.TextCodePage := CodePage.UTF7;
    EtlConsumer.FillDefault;
    //Сохраняем приемник
    EtlConsumer.Save;
    //Создание визуального объекта
    WxConsumer := EtlTask.Workspace.CreateRectangle;
    WxETLConsumer := New WxETLObject.Create;
    WxETLConsumer.ETLObject := EtlConsumer;
    WxConsumer.Style.TextPosition := WxTextPosition.Bottom;
    WxConsumer.Style.PictureMarginTop := -10;
    WxConsumer.PinPosition := New GxPointF.Create(5050);
    WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;
    //Сохранение задачи Etl
    (EtlTask As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в задаче ETL будет создан объект «Экспорт в текст». Данный объект будет экспортировать данные в текстовый файл «C:\Data.txt» с заданными настройками:

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Etl;
Imports Prognoz.Platform.Interop.Dt;
Imports Prognoz.Platform.Interop.Andy;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Drawing;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    EtlTask: IEtlTask;
    EtlConsumer: IEtlPlainDataConsumer;
    TextConsumer: IDtTextConsumer;
    WxConsumer: IWxRectangle;
    WxETLConsumer: IWxETLObject;
    PinPosition: GxPointF = New GxPointFClass();
Begin
    MB := Params.Metabase;
    EtlTask := MB.ItemById["ETL"].Edit() As IEtlTask;
    //Создание объекта "Экспорт в текст"
    EtlConsumer := EtlTask.Create(EtlObjectType.eotPlainDataTextConsumer) As IEtlPlainDataConsumer;
    EtlConsumer := EtlConsumer.Edit();
    EtlConsumer.Id := "Text_Consumer";
    EtlConsumer.Name := "Экспорт в текст";
    EtlConsumer.Description := "Экспорт в текст";
    //Настройка приемника данных
    TextConsumer := EtlConsumer.Consumer As IDtTextConsumer;
    TextConsumer.File := "C:\Data_out.txt";
    TextConsumer.WriteHeader := True;
    TextConsumer.RowDelimiter := "|";
    TextConsumer.DelimitedColumnDelimiter := ";";
    TextConsumer.DelimitedTextQualifier := "'";
    TextConsumer.TextCodePage := CodePage.cpUTF7;
    EtlConsumer.FillDefault();
    //Сохраняем приемник
    EtlConsumer.Save();
    //Создание визуального объекта
    WxConsumer := EtlTask.Workspace.CreateRectangle();
    WxETLConsumer := New WxETLObject.Create();
    WxETLConsumer.ETLObject := EtlConsumer;
    WxConsumer.Style.TextPosition := WxTextPosition.wtpBottom;
    WxConsumer.Style.PictureMarginTop := -10;
    PinPosition := WxConsumer.PinPosition;
    PinPosition.Create(5050);
    WxConsumer.Extension := WxETLConsumer As IWxShapeExtension;
    //Сохранение задачи Etl
    (EtlTask As IMetabaseObject).Save();
End Sub;

См. также:

IDtTextConsumer