IPPTimeLine.DelayDuration

Синтаксис Fore

DelayDuration: Double;

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

DelayDuration: double;

Описание

Свойство DelayDuration определяет длительность задержки анимации.

Комментарии

Для определения длительности шага анимации используйте свойство IPPTimeLine.StepDuration.

Пример Fore

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

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

Sub UserProc;
Var
    Speedometer: IPPSpeedometer;
    MB: IMetabase;
    AdhocReport: IAdhocReport;
    EaxSpeedometer: IEaxSpeedometer;
    Enalyzer: IEaxAnalyzer;
    DsObjs: IAdhocDataSourceObjects;
    Timeline: IPPTimeLine;
    Arr: Array[3Of String;
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;
    // Получим временную шкалу спидометра
    Timeline := Speedometer.TimeLine;
    // Если временная шкала скрыта, отобразим
    If Timeline.Visible = False Then
        Timeline.Visible := True;
    End If;
    Debug.WriteLine("Текущий шаг: " + Timeline.CurrentIndex.ToString);
    // Определим длительность задержки анимации
    Timeline.DelayDuration := 1.5;
    // Определим длительность шага анимации
    Timeline.StepDuration := 2;
    // Временная шкала будет пересекать спидометр
    Timeline.IsOverlap := True;
    // После завершения анимации текущим шагом временной шкалы останется последний шаг
    Timeline.ReturnToInitialState := False
    // Привяжем шкалу к правому краю
    Timeline.HorizontalAlignment := PPSpeedometerHorizontalAlignment.Right;
    // Расположим шкалу над спидометром
    Timeline.VerticalAlignment := PPSpeedometerVerticalAlignment.Top;
    // Определим наименование шагов временной шкалы
    Arr[0] := "Шаг 1";
    Arr[1] := "Шаг 2";
    Arr[2] := "Шаг 3";
    Timeline.StepsNames := Arr;
    (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;
    Timeline: IPPTimeLine;
    Arr: Array[3Of String;
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;
    // Получим временную шкалу спидометра
    Timeline := Speedometer.TimeLine;
    // Если временная шкала скрыта, отобразим
    If Timeline.Visible = False Then
        Timeline.Visible := True;
    End If;
    System.Diagnostics.Debug.WriteLine("Текущий шаг: " + Timeline.CurrentIndex.ToString());
    // Определим длительность задержки анимации
    Timeline.DelayDuration := 1.5;
    // Определим длительность шага анимации
    Timeline.StepDuration := 2;
    // Временная шкала будет пересекать спидометр
    Timeline.IsOverlap := True;
    // После завершения анимации текущим шагом временной шкалы останется последний шаг
    Timeline.ReturnToInitialState := False
    // Привяжем шкалу к правому краю
    Timeline.HorizontalAlignment := PPSpeedometerHorizontalAlignment.shaRight;
    // Расположим шкалу над спидометром
    Timeline.VerticalAlignment := PPSpeedometerVerticalAlignment.svaTop;
    // Определим наименование шагов временной шкалы
    Arr[0] := "Шаг 1";
    Arr[1] := "Шаг 2";
    Arr[2] := "Шаг 3";
    Timeline.StepsNames := Arr;
    (Enalyzer As IMetabaseObject).Save();
End Sub;

См. также:

IPPTimeLine

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

Требование