IPPSpeedometerTrends.Add

Синтаксис Fore

Add(Value: IPPSpeedometerTrend): Integer;

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

Add(Value: Prognoz.Platform.Interop.Speedometer.PPSpeedometerTrend): integer;

Параметры

Value. Добавляемый тренд.

Описание

Метод Add добавляет тренд в коллекцию.

Пример Fore

Для выполнения примера предполагается наличие в репозитории аналитической панели с идентификатором «ADHOC». Аналитическая панель должна содержать спидометр.

Добавьте ссылки на системные сборки: Adhoc, Express, Metabase и Speedometer.

Sub UserProc;
Var
    Speedometer: IPPSpeedometer;
    MB: IMetabase;
    AdhocReport: IAdhocReport;
    EaxSpeedometer: IEaxSpeedometer;
    Enalyzer: IEaxAnalyzer;
    DsObjs: IAdhocDataSourceObjects;
    Scales: IPPSpeedometerScales;
    Scale: IPPSpeedometerScale;
    Trends: IPPSpeedometerTrends;
    Trend: IPPSpeedometerTrend;
    Marker: IPPSpeedometerMarkerBase;
Begin
    MB := MetabaseClass.Active;
    // Получим аналитическую панель
    AdhocReport := MB.ItemById("ADHOC").Edit As IAdhocReport;
    // Получим источники данных аналитической панели
    DsObjs := AdhocReport.DataSourceObjects;
    // Получим спидометр
    Enalyzer := DsObjs.Item(0).GetSourceObject As IEaxAnalyzer;
    EaxSpeedometer := Enalyzer.Speedometer;
    // Получим параметры спидометра
    Speedometer := EaxSpeedometer.Speedometer;
    // Получим коллекцию шкал спидометра
    Scales := Speedometer.Scales;
    // Получим шкалу данных
    Scale := Scales.DataScale;
    // Получим коллекцию трендов шкалы
    Trends := Scale.Trends;
    // Выведем количество имеющихся трендов
    Debug.WriteLine("Трендов в коллекции до удаления: " + Trends.Count.ToString);
    // Удалим все имеющиеся тренды
    Trends.RemoveAll;
    // Создадим новый тренд
    Trend := New PPSpeedometerTrend.Create;
    // Установим значение тренда
    Trend.Value := 15000;
    // Установим текст, отображаемый в текстовой метке тренда
    Trend.Label.Text := "Точка невозврата";
    // Установим копию центрального маркера спидометра в качестве маркера тренда
    Marker := Speedometer.Center;
    Trend.Marker := Marker;
    // Добавим настроенный тренд в коллекцию
    Trends.Add(Trend);
    (Enalyzer As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера в окно консоли будет выведен размер коллекции трендов, после чего коллекция будет очищена. Будет создан новый тренд, настроены значение, текст, маркер тренда. Новый тренд будет добавлен в коллекцию трендов.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.AdHoc;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Speedometer;

Public Shared Sub Main(Params: StartParams);
Var
    Speedometer: IPPSpeedometer;
    MB: IMetabase;
    AdhocReport: IAdhocReport;
    EaxSpeedometer: IEaxSpeedometer;
    Enalyzer: IEaxAnalyzer;
    DsObjs: IAdhocDataSourceObjects;
    Scales: IPPSpeedometerScales;
    Scale: PPSpeedometerScale;
    Trends: IPPSpeedometerTrends;
    Trend: IPPSpeedometerTrend;
    Marker: IPPSpeedometerMarkerBase;
Begin
    MB := Params.Metabase;
    // Получим аналитическую панель
    AdhocReport := MB.ItemById["ADHOC"].Edit() As IAdhocReport;
    // Получим источники данных аналитической панели
    DsObjs := AdhocReport.DataSourceObjects;
    // Получим спидометр
    Enalyzer := DsObjs.Item[0].GetSourceObject() As IEaxAnalyzer;
    EaxSpeedometer := Enalyzer.Speedometer;
    // Получим параметры спидометра
    Speedometer := EaxSpeedometer.Speedometer;
    // Получим коллекцию шкал спидометра
    Scales := Speedometer.Scales;
    // Получим шкалу данных
    Scale := Scales.DataScale;
    // Получим коллекцию трендов шкалы
    Trends := Scale.Trends;
    // Выведем количество имеющихся отметок
    System.Diagnostics.Debug.WriteLine("Трендов в коллекции до удаления: " + Trends.Count.ToString());
    // Удалим все имеющиеся тренды
    Trends.RemoveAll();
    // Создадим новый тренд
    Trend := New PPSpeedometerTrend.Create();
    // Установим значение тренда
    Trend.Value := 15000;
    // Установим текст, отображаемый в текстовой метке тренда
    Trend.Label.Text := "Точка невозврата";
    // Установим копию центрального маркера спидометра в качестве маркера тренда
    Marker := Speedometer.Center;
    Trend.Marker := Marker As PPSpeedometerMarker;
    // Добавим настроенный тренд в коллекцию
    Trends.Add(Trend As PPSpeedometerTrend);
    (Enalyzer As IMetabaseObject).Save();
End Sub;

См. также:

IPPSpeedometerTrends

Связанные записи

Требование